RFC 3925 - option 125 V-I Vendor Specific Information configuration
Robert Carter
carterrj at verizon.net
Wed Apr 27 13:58:11 UTC 2011
Hi --
I'm trying to set up an option 125 config, with sub-options, following
RFC 3925 and I'm running into some trouble. I'm not sure if I haven't
got the config framed out correctly, or if there other underlying issues
in the server code. I've searched the list archives and can not find any
prior posting that helps resolve my problem.
I'm running Internet Systems Consortium DHCP Server version 4.1.1-P1,
and I've compiled with multiple debug defines set in includes/site.h
(DEBUG, DEBUG_TOKENS, DEBUG_EXPRESSIONS, DEBUG_CLASS_MATCHING). By
running the server in the foreground, I can get a good idea of how it is
processing packets.
By setting up an encapsulated 125 option, I'm looking to have the server
code do the heavy lifting of parsing the client's 125 option data that
is sent, allowing the server can make decisions from this data. (And
thus avoid a lot of manual parsing of the option data.)
Running the below config results in:
bool: exists vendor.myspace = false
exec: if false
data: const = "NOT vivso packet"
exec: log
NOT vivso packet
While running wireshark on the server to do a packet trace confirms that
the client is sending the correctly formatted 125 option, and sub-option
data, in its DISCOVER packet.
If I change the config to specify vendor text data type, rather than
encapsulated, then the server will correctly find the option 125 data in
the DISCOVER packet:
option vendor.myspace code 4321 = text;
option vendor.myspace "monkey bananas";
from:
option vendor.myspace code 4321 = encapsulate myspace;
Clearly, from past postings to the list, many people are encapsulating
docis options, which is very similar to what I am trying to accomplish,
e.g. from a recent post:
option space docsis code width 2 length width 2 hash size 17;
option docsis.tftp-servers code 32 = array of ip6-address;
option docsis.cablelabs-configuration-file code 33 = text;
option vsio.docsis code 4491 = encapsulate docsis;
So, is there a problem with how I've framed out my vendor encapsulation,
or is there a problem with trying to encapsulate vendor options?
Thanks.
Bob
====================
dhcpd.conf
====================
authoritative;
option space myspace code width 1 length width 1 hash size 8;
option myspace.r_oui code 1 = text;
option myspace.r_sn code 2 = text;
option myspace.s_oui 3 = text;
option myspce.s_sn code 4 = text;
option vendor.myspace code 4321 = encapsulate myspace;
option myspace.s_oui "00abcd";
option myspace.s_sn "1234567890";
if exists vendor.myspace {
log (info,"vivso packet");
} else {
log (info,"NOT vivso packet");
}
class "myspace-clients" {
match if exists vendor.myspace;
log (info,"found myspace client");
log (info, concat (" data: ", option vendor.myspace));
log (info, concat (" oui ", option myspace.r_oui));
log (info, concat (" sn ", option myspace.r_sn));
}
subnet 192.168.0.0 netmask 255.255.255.0 {
server-identifier 192.168.0.49;
default-lease-time 86400;
max-lease-time 86400;
range 192.168.0.100 192.168.0.110;
option routers 192.168.0.49;
option domain-name-servers 192.168.0.49;
}
More information about the dhcp-users
mailing list