Option 43 is not being send after moving to a specific scope

Glenn Satchell glenn.satchell at uniq.com.au
Mon Apr 26 13:17:37 UTC 2010


Hi Wim

There is two things that need looking at, firstly when concatenating 
option numbers to the dhcp-parameter-request-list you need to specify 
them in hex, not decimal. So that is happily adding option number 0x43 
(67) and 0x60 (96) to the list. If this were to be mentioned in the 
documentation it would be the dhcp-eval man page...

option dhcp-parameter-request-list = concat ( option 
dhcp-parameter-request-list, 2b, 3c );

The other thing is that once you redefine the vendor-class-identifier it 
no longer matches the sub-class.

The way this is frequently done is to define PXE options is using a 
specific PXE class. Searching the archives should show a few examples of 
this I think. For example:

# Option definitions for PXE
option space PXE code width 1 length width 1 hash size 3;
option PXE.mtftp-ip code 1 = ip-address;
#option PXE.mtftp-cport code 2 = unsigned integer 16;
#option PXE.mtftp-sport code 3 = unsigned integer 16;
#option PXE.mtftp-tmout code 4 = unsigned integer 8;
#option PXE.mtftp-delay code 5 = unsigned integer 8;
#option PXE.discovery-control code 6 = unsigned integer 8;
#option PXE.discovery-mcast-addr code 7 = ip-address;

# PXE boots for jumpstarting x86 boxes
class "PXE" {
   match if substring(option vendor-class-identifier, 0, 9) = "PXEClient";
   next-server drill.uniq.com.au;
   filename "pxegrub.I86PC.Solaris_10-1";
   # 10 minutes should be long enough for PXE
   max-lease-time 600;

   # don't use multicast tftp option
   vendor-option-space PXE;
   option PXE.mtftp-ip 0.0.0.0;
   # other PXE.option settings go here;
}

If you fill in the values for the PXE "space" inside the class 
definition, then those values will only be set for PXE clients.

Something like this, plus using hex for the option numbers should get 
you there I think.

regards,
-glenn

On 04/26/10 17:47, W.J.M. Nelis wrote:
> Hello,
>
> we are using ISC dhcpd version 3.1.3. For PXE-clients there is a bit of
> configuration to send them additional information in option 43. If the
> PXE configuration is moved from the global scope to a specific scope,
> option 43 is no longer send.
>
> The original configuration in the global scope is:
>
> option space PXE;
> option PXE.discovery-control code 6 = unsigned integer 8 ;
> option PXE.boot-server code 8 = { unsigned integer 16, unsigned integer
> 8, ip-address } ;
> option PXE.boot-menu code 9 = { unsigned integer 16, unsigned integer 8,
> text } ;
> option PXE.menu-prompt code 10 = { unsigned integer 8, text } ;
>
> server-name "deploy-os.nlr.nl" ;
> option dhcp-parameter-request-list = concat ( option
> dhcp-parameter-request-list, 60, 43 ) ;
> option vendor-class-identifier "PXEClient" ;
> vendor-option-space PXE ;
> option PXE.discovery-control 7 ;
> option PXE.boot-server 15 1 137.17.144.50 ;
> option PXE.boot-menu 15 3 "NLR" ;
> option PXE.menu-prompt 0 "R" ;
>
>
> The modified configuration is:
>
> option space PXE ;
> option PXE.discovery-control code 6 = unsigned integer 8 ;
> option PXE.boot-server code 8 = { unsigned integer 16, unsigned integer
> 8, ip-address } ;
> option PXE.boot-menu code 9 = { unsigned integer 16, unsigned integer 8,
> text } ;
> option PXE.menu-prompt code 10 = { unsigned integer 8, text } ;
>
> class "vendor-classes" {
> match option vendor-class-identifier ;
> }
> subclass "vendor-classes" "PXEClient:Arch:00000:UNDI:002001" {
> option dhcp-parameter-request-list = concat ( option
> dhcp-parameter-request-list, 60, 43 ) ;
> #
> vendor-option-space PXE ;
> option PXE.discovery-control 7 ;
> option PXE.boot-server 15 1 137.17.144.50 ;
> option PXE.boot-menu 15 3 "NLR" ;
> option PXE.menu-prompt 0 "R" ;
> #
> server-name "deploy-os.nlr.nl" ;
> option vendor-class-identifier "PXEClient" ;
> }
>
> Using a network sniffer, it is found that the servername
> (deploy-os.nlr.nl) is added to the DHCP OFFER, and that the shorter
> vendor-class-identifier (PXEClient) is send. However, there is no option
> 43 in the DHCP OFFER. None of the other specific scopes, host and
> subnet, do something with option 43.
>
> What is wrong in this configuration? Why is option 43 not included in
> the replies?
>
> BTW, we need to move the generation of option 43 for PXE to a specific
> scope as there are now some devices on the network which do not like to
> receive an unsolicited option 43.
>
>
> Regards,
> Wim Nelis.
>



More information about the dhcp-users mailing list