Usually, a DHCP option is either an IP address or subnetmask or a string. You can specify all kind of options and option data using the custom option feature of the DHCP server.It looks like this:
[General] OPTION_66=“192.168.5.1“ ; IP address of TFTP server OPTION_60="PXEClient" ; string
Some options, especially the vendor specific OPTION_43, are composed of sub-options of different types. It is possible to define OPTION_43 with one sub-option like this:
OPTION_43=08 0E "http://load.me" ;
This defines OPTION_43 with one sub-option 8. Every sub-option consists of a 1 byte tag (08 in this case), 1 byte length (0E in this case, which is 14 dec) and the data with the given length (http://load.me is a 14 byte string). Unfortunatly the length has to be calculated and entered manually as the second byte in hex format.
If there is a second sub-option to be specified, such as an IP address as sub-option 6 then the complete OPTION_43 looks like this:
OPTION_43=08 0E "http://load.me" 06 04 192.168.5.1 ;
The sub-option 6 also consists of a tag (06), length (04) and data, as you can easily see above.
Since V2.4, the error-prone task to manually determine the length of the sub-option is replaced by an auto-len feature. With that the example above reads like this:
OPTION_43=08 ( "http://load.me" ) 06 ( 192.168.5.1 ) ;
Everything inside parentheses is automatically prefixed with the length of that data.