Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

dhcpparm(8)

joind(8)

bootptab(4)

dhcptags(4)  —  File Formats

NAME

dhcptags − DHCP and BOOTP server database

DESCRIPTION

Parameters (or options) returned to the client by the DHCP/BOOTP protocol are encoded in the so-called vendor field of the BOOTP packet.  Each option is identified numerically, and also carries a length specifier.  The dhcptags file identifies the type of each option, labels each with a short mnemonic text string for use in the dhcpcap database, and provides a description of each for use in the xjoin program. 

Options defined by DHCP are of three general types:

Standard:
The semantics of which all client and server DHCP implementations agree upon.  These are administered by the Internet Assigned Numbers Authority (IANA).  These options are numbered from 1 to 127 and 255.

Site-specific:
Within a specific site all client and server implementations agree as to the semantics, but at another site the type and meaning of an option may be quite different.  These options are numbered from 128 to 254.

Vendor-specific:
Each vendor may define 256 options unique to that vendor.  The vendor is identified within a DHCP packet by the "Vendor Class" option (#60).  An option with a specific numeric identifier belonging to one vendor will, in general, have a type and semantics different from those of another vendor.  Vendor options are "super-encapsulated" into the vendor field (#43): within a specific DHCP packet there may be several instances of option #43.

As well as these, the DHCP implementation defines certain "pseudo" options, numbered from 512 upward.  These are used by the server to identify items in its database which either correspond to fixed fields in the BOOTP packet (such as the "siaddr" field) or which though not options themselves are used in constructing valid options. For example, the "home directory" used in constructing the exact path to a boot image. 

In general, the joind server knows little about the semantics of any of the first three types of options.  Its only duty is to deliver those values to clients that need them.  The responsibility for understanding and using the data rests with the client.  Pseudo-tags, on the contrary, have a meaning specific to joind, and consequently are not added to this list.  The only useful edit that can be performed on the pseudo-tags is to change the description or the mnemonic. 

FORMAT

Blank lines and those whose first nonwhitespace character is ’#’ are ignored.  Data entries are written one per line and have seven fields. An individual entry cannot be continued onto another line. 

The fields are (in order):

       •The tag number

       •Identifier as used in bootptab file

       •Grouping in GUI

       •Vendor class

       •Data type.  Choose from the following (case insensitive) list:

byte

octet

int1A 1-byte value

int2A 2-byte value

int4A 4-byte value

stringA printable character string

ipAn IP address

iplistA list of IP addresses

int2listA list of 2-byte values

opaqueA array of 1-byte values

booleanEither true or false

       •Column grouping in GUI

       •Long name

Tag List

The currently recognized /etc/join/dhcptags tags are:

asMaximum reassembly size

atArp timeout

baBroadcast address of network

bfBoot file

brBe a router

bsBoot file size (512 octet blocks)

bwNetbios name servers

bxNetbios datagram distribution servers

byNetbios node type

bzNetbios scope

cbPath to join client binary

csCookie servers

ctClass type

dfDump file

dnDNS domain name

dsDomain name servers

efEncapsulate flavor

epPath of the extensions file

fnForward nonlocal datagrams

gwGateways (IP rosters)

haHardware address

hdHome directory

hnSend host name

hoHost name

htHardware type

idClient id

imImpress servers

ipHost or network IP address

itIP TTL

kiKeep alive interval

koKeep alive octet

lgLog servers

lpLPR servers

ltLease time

mdPerform mask discovery

mfPublicly mountable file systems

msSupply masks

nsIEN-116 name servers

ntNTP (network time protocol) servers

pfPolicy filters

plPMTU plateaus

prPrintcap setup

psSVR4 printer setup

ptPMTU timeout

raReply address override

rdDo route discovery

rlResource location protocol servers

rpRoot path

rsSolicit routes

saTFTP server address (used by clients)

siBoot server address

slSubnets are local

smSubnet mask (host)

srStatic routes

ssName service switch

swSwap server address

t1DHCP T1

t2DHCP T2

tcTemplate host (points to similar host entry)

tdTFTP root directory (used by secure TFTP server)

toTime offset (seconds)

trTrailers

tsTime servers

ttTCP TTL

tuMTU

vmVendor magic cookie selector

wdNetware domain name

woNetware options

xdX display managers

xfX font servers

ydNIS domain

ysNIS map servers

zdNIS+ domain

zsNIS+ map servers

There is also a generic tag, Tn, where n is an RFC 1533 vendor field tag number.  Thus it is possible to immediately take advantage of future extensions to RFC 1533 without being required to modify the DHCP server (joind).  Generic data may be represented as either a stream of hexadecimal numbers or as a quoted string of ASCII characters.  The length of the generic data is automatically determined and inserted into the proper field(s) of the RFC 1533-style BOOTP and DHCP reply. 

FILES

/etc/join/dhcptags
DHCP server database

RELATED INFORMATION

Commands: dhcpparm(8), joind(8). 

Files: bootptab(4),

DARPA Internet Request For Comments RFC 1533, RFC 1541, Assigned Numbers

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026