Vendor options not being sent

Reissom Beshir Reissom_Beshir at Mitel.com
Wed Sep 15 15:53:48 UTC 2010


Hi,

I think there is a difference where the vendor options are assigned.
In Arno's case, they are assigned in the pool statement.
In Glenn's case, they are assigned in the class statement.

I am thinking for Arno's case to work, you may need to wrap the vendor 
options in an if condition in the pool.

   pool {
     ...
     if option vendor-class-identifier = "SUNW.Sun-Fire-V210" {
       vendor-option-space SUNW;
       option SUNW.install-server-hostname "X";
       option SUNW.install-server-ip-address 192.168.m.n;
       option SUNW.root-server-hostname "X";
       option SUNW.install-path "/sol10";
       option SUNW.root-server-ip-address 192.168.m.n;
       option SUNW.root-path-name "/sol10/Solaris_10/Tools/Boot";
       option SUNW.sysid-config-file-server "192.168.m.n:/sol10/config";
       option SUNW.JumpStart-server "192.168.m.n:/sol10/jumpstart";
     }
   }

--
Reissom Beshir


----- Original Message ----- 
From: "Glenn Satchell" <glenn.satchell at uniq.com.au>
To: "Users of ISC DHCP" <dhcp-users at lists.isc.org>
Sent: Wednesday, September 15, 2010 8:00 AM
Subject: Re: Vendor options not being sent


> Hi Arno
>
> I think what is missing is the definitions of the SUNW space variables. 
> These must be defined in the global scope to specify what the type each of 
> the SUNW.things are. This ensures they are encoded in the proper format 
> (string, number, ip-address and so on. Then in an appropriate scope you 
> fill in the value.
>
> Here is what I use in my configuration for booting and jumpstarting Sun 
> SParc boxes. All the jumpstart bits are defined in the class and nothing 
> special is needed in the subnet definition.
>
> # Jumpstart specific stuff
> option space SUNW code width 1 length width 1 hash size 11;
> option SUNW.root-server-ip-address code 2 = ip-address;
> option SUNW.root-server-hostname code 3 = text;
> option SUNW.root-path-name code 4 = text;
> option SUNW.install-server-ip-address code 10 = ip-address;
> option SUNW.install-server-hostname code 11 = text;
> option SUNW.install-path code 12 = text;
> option SUNW.sysid-config-file-server code 13 = text;
> option SUNW.jumpstart-server code 14 = text;
>
> class "SUNW_sparc" {
>   match if substring(option vendor-class-identifier, 0, 8) = "SUNW.Sun";
>   vendor-option-space SUNW;
>   option SUNW.root-server-ip-address drill.uniq.com.au;
>   option SUNW.root-server-hostname "drill";
>   option SUNW.root-path-name 
> "/jumpstart/solaris/sol_10_1009_sparc/Solaris_10/Tools/Boot";
>   option SUNW.install-server-ip-address drill;
>   option SUNW.install-server-hostname "drill";
>   option SUNW.install-path "/jumpstart/solaris/sol_10_1009_sparc";
>   option SUNW.sysid-config-file-server "drill:/jumpstart/sysid/2.10";
>   option SUNW.jumpstart-server "drill:/jumpstart";
> }
>
> subnet 192.168.14.0 netmask 255.255.255.0 {
>   option routers grinder.uniq.com.au;
>   pool {
>     range 192.168.14.230 192.168.14.253;
>   }
> }
>
> regards,
> -glenn
>
> On 09/15/10 07:51, Arno Lehmann wrote:
>> Hi all,
>>
>> I'm currently struggling to send some vendor options to a dhcp client,
>> so far without success.
>>
>> I've got dhcpd serving a number of IPv4 subnets for quite a while, and
>> the basic stuff all works fine.
>>
>> Now I've got an old sun server I want to boot from the network, and set
>> up its boot configuration with dhcp.
>>
>> I ended up defining an "option space SUNW;" with all the needed options
>> - that part seems to work as I don't get complaints on dhcpd startup.
>>
>> Then I've got one locally connected subnet inside which I - after trying
>> many other approaches - ended up with this construct:
>>
>> class "v210" {
>> match if option vendor-class-identifier = "SUNW.Sun-Fire-V210";
>> }
>>
>> pool {
>> range 192.168.37.125 192.168.37.125;
>> allow members of "v210";
>> next-server X;
>> filename "sol10sparc";
>> option host-name "sun1";
>> option domain-name "a.b.com";
>> ddns-hostname "sun1";
>> ddns-domainname "a.b.com";
>> vendor-option-space SUNW;
>> option SUNW.install-server-hostname "X";
>> option SUNW.install-server-ip-address 192.168.m.n;
>> option SUNW.root-server-hostname "X";
>> option SUNW.install-path "/sol10";
>> option SUNW.root-server-ip-address 192.168.m.n;
>> option SUNW.root-path-name "/sol10/Solaris_10/Tools/Boot";
>> option SUNW.sysid-config-file-server "192.168.m.n:/sol10/config";
>> option SUNW.JumpStart-server "192.168.m.n:/sol10/jumpstart";
>> }
>>
>> which seems to work basically - the (only) IP address is assigned,
>> registered in DNS, the host name is assigned, etc. Unfortunately, the
>> Vendor Options are never sent...
>>
>> I believe I confirmed this by checking with tcpdump. This is a DISCOVER:
>>
>>> 21:34:43.355965 IP (tos 0x0, ttl 64, id 1, offset 0, flags [none],
>>> proto: UDP (
>>> 17), length: 328) 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP,
>>> Request f
>>> rom 00:03:ba:59:f1:0d (oui Unknown), length: 300, xid:0x21f83d33,
>>> flags: [none]
>>> Client Ethernet Address: 00:03:ba:uu:vv:ww (oui Unknown)
>>> Vendor-rfc1048:
>>> DHCP:DISCOVER
>>> VC:"SUNW.Sun-Fire-V210"
>>> PR:SM+DG+HN+VO
>>> MSZ:1472
>>
>> Here, a REPLY:
>>
>>> 21:34:43.356294 IP (tos 0x10, ttl 16, id 0, offset 0, flags [none],
>>> proto: UDP
>>> (17), length: 328) d.e.f.g.bootps > sun1.a.b.
>>> com.bootpc: BOOTP/DHCP, Reply, length: 300, xid:0x21f83d33, flags: 
>>> [none]
>>> Your IP: sun1.a.b.com
>>> Server IP: X.Y.Z
>>> Client Ethernet Address: 00:03:ba:uu:vv:ww (oui Unknown)
>>> file "sol10sparc"
>>> Vendor-rfc1048:
>>> DHCP:OFFER
>>> SID:d.e.f.g
>>> LT:8000
>>> SM:255.255.255.0
>>> DG:d.e.f.g
>>  > 0x0000: <dump snipped>
>>
>> Then, the REQUEST:
>>
>>> 21:34:47.373359 IP (tos 0x0, ttl 64, id 2, offset 0, flags [none],
>>> proto: UDP (
>>> 17), length: 328) 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP,
>>> Request f
>>> rom 00:03:ba:uu:vv:ww (oui Unknown), length: 300, xid:0x21f83d33,
>>> flags: [none]
>>> Client Ethernet Address: 00:03:ba:uu:vv:ww (oui Unknown)
>>> Vendor-rfc1048:
>>> DHCP:REQUEST
>>> VC:"SUNW.Sun-Fire-V210"
>>> PR:SM+DG+HN+VO
>>> MSZ:1472
>>> SID:d.e.f.g
>>> RQ:sun1.a.b.com
>>> 0x0000:
>>
>> And, finally, the REPLY:
>>
>>> 21:34:47.373717 IP (tos 0x10, ttl 16, id 0, offset 0, flags [none],
>>> proto: UDP
>>> (17), length: 328) d.e.f.g.bootps > sun1.a.b.
>>> com.bootpc: BOOTP/DHCP, Reply, length: 300, xid:0x21f83d33, flags: 
>>> [none]
>>> Your IP: sun1.a.b.com
>>> Server IP: X.Y.Z
>>> Client Ethernet Address: 00:03:ba:uu:vv:ww (oui Unknown)
>>> file "sol10sparc"
>>> Vendor-rfc1048:
>>> DHCP:ACK
>>> SID:d.e.f.g
>>> LT:8000
>>> SM:255.255.255.0
>>> DG:d.e.f.g
>>> 0x0000: <dump follows>
>>
>> What I read in the above is that Vendor options are requested
>> ("PR:SM+DG+HN+VO") but I don't see them in any response packet.
>>
>> As I tried this with both my (outdated) production dhcpd 3.0.5 as well
>> as a freshly compiled 4.1.1-P1 version without any difference in
>> behaviour, I assume the problem is in my configuration.
>>
>> Any hints?
>>
>> By the way - initially, I tried the plain approach of defining a host
>> with a static address and all the options, but that resulted in exactly
>> the same result - no vendor options delivered to the client.
>>
>> Thanks,
>>
>> Arno
>>
> _______________________________________________
> dhcp-users mailing list
> dhcp-users at lists.isc.org
> https://lists.isc.org/mailman/listinfo/dhcp-users
>
> 





More information about the dhcp-users mailing list