How to define Relay Agent Vendor Specific suboption in ISC dhcpd.conf

Glenn Satchell glenn.satchell at uniq.com.au
Sat Feb 27 02:07:44 UTC 2010


On 02/27/10 08:49, Shu Lin wrote:
> Hi,
>
> I am trying to configure dhcpd.conf to support the DHCP request coming
> from a WiMAX ASN-GW. According to RFC4243 and WiMAX Forum NWG document.
> I need put some configuration supporting Relay Agent Vendor Specific
> WiMAX suboption
>
> I went through all the man pages and Internet. I can only find the way
> to use “Vendor Encapsulated Options” to specify vendor specific options.
> But, even with that solution, it is still vendor specific option in the
> option level. What I exactly need actually is the vendor specific
> suboption definition inside relay agent option which defined by RFC4243.
> All the examples I can find from man page and internet don’t come to
> that level of detail.
>
> Another problem I have is how to define the correct pool to catch
> self-defined class. I followed the man page of dhcpd.conf,
> dhcpd-options, dhcpd-eval coming with below definition:
>
> option space WIMAX;
>
> option WIMAX.mip4_registration code 1 = unsigned integer 8;
>
> option WIMAX.HA_IP code 2 = ip-address;
>
> class "vendor-classes"
>
> {
>
> match option vendor-class-identifier;
>
> }
>
> subclass "vendor-classes" "wimax-ha-192.168.205.1"
>
> {
>
> vendor-option-space WIMAX;
>
> option WIMAX.HA_IP 192.168.205.1;
>
> }
>
> subclass "vendor-classes" "wimax-ha-192.168.206.1"
>
> {
>
> vendor-option-space WIMAX;
>
> option WIMAX.HA_IP 192.168.206.1;
>
> }
>
> But, I will get error when I try to use the class or subclass in the
> pool like below:
>
> shared-network ASN-67
>
> {
>
> server-name "asnc_67";
>
> option domain-name-servers 192.168.200.5, 192.168.200.4;
>
> option time-offset -28800; # GMT-8
>
> default-lease-time 21600; # 6 hours
>
> max-lease-time 86400; # 24 hours
>
> subnet 10.67.0.0 netmask 255.255.0.0
>
> {
>
> pool
>
> {
>
> *** allow members of "vendor-classes"******** "wimax-ha-192.168.205.1";*
>
> range dynamic-bootp 10.67.128.1 10.67.255.253;
>
> }
>
> option subnet-mask 255.255.0.0;
>
> option routers 10.67.0.1; # gateway
>
> }
>
> }
>
> Or another error if I define the pool like below:
>
> pool
>
> {
>
> *** allow members of******** "wimax-ha-192.168.205.1";*
>
> range dynamic-bootp 10.67.128.1 10.67.255.253;
>
> }
>
> My question is the explanation of subclass in dhcpd.conf man page
> confused me with the “Vendor Encapsulated Options” sample in
> dhcpd-options man page. How can I use the subclass correctly to match
> the wimax vendor specific option in the pool definition.
>
> Thanks,
>
> -Shu
>
> ******

Hi Shu

You are very close. sub-class is a way of assigning membership of the 
class. You have defined a single class "vendor-classes", membership of 
that class is determined by matching the option vendor-class-identifier.

Vendor encapsulated options is a way sending particular dhcp options in 
the reply packet to the client.

In the subclass statement you specify a vendor-class-identifier to match 
against the incoming client request. If the vendor-class-identifier is 
"wimax-ha-192.168.205.1" then this matches the subclass, and that client 
request then becomes a member of the "vendor-classes" class.

The same logic applies to "wimax-ha-192.168.206.1". That request also 
becomes a member of "vendor-classes" class.

You need to allow the class in the pool, eg:

pool {
	allow members of "vendor-classes";
	...
}


-- 
regards,
-glenn
--
Glenn Satchell                            |  Miss 9: What do you
Uniq Advances Pty Ltd, Sydney Australia   |  do at work Dad?
mailto:glenn.satchell at uniq.com.au         |  Miss 6: He just
http://www.uniq.com.au tel:0409-458-580   |  types random stuff.



More information about the dhcp-users mailing list