Vendor option being deleted

Scott Wedekind swedekind at bluecatnetworks.com
Mon Oct 15 16:15:41 UTC 2012


Can anyone verify this is a bug?

During a recent migration from a much older DHCPD server to one based upon DHCP-4.1-ESV-R6, it was noticed that a vendor option wasn't functioning, and the log file reported that the option was being ignored during the dhcpd service startup.  I don't own the server, so I can't easily provide the entire log file or conf file.  Removing the line "option AlcatelA4400.VlanID 35;" will make the warning message go away.


Log message:
Internet Systems Consortium DHCP Server 4.1-ESV-R6
Copyright 2004-2012 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
WARNING: server ignoring option VlanID in configuration file.
Wrote 0 class decls to leases file.


Related lines from the dhcpd.conf file:
option space AlcatelA4400;
option AlcatelA4400.VlanID code 58 = unsigned integer 16;

class "alcatel_ipphone"
{
    match if option vendor-class-identifier = "alcatel.tsc-ip.0" or option vendor-class-identifier = "alcatel.noe.0";
    option AlcatelA4400.VlanID 35;
}




I looked through the source code, and I think I found the cause.  The option code for DHO_DHCP_RENEWAL_TIME and the vendor code are both 58.

>From dhcp-4.1-ESV-R7/server/confpars.c
Line 757:
/*
* If the configuration attempts to define on option
* that we ignore, then warn about it now.
*
* In DHCPv4 we do not use dhcp-renewal-time or
* dhcp-rebinding-time, but we use these in DHCPv6.
*
* XXX: We may want to include a "blacklist" of
 *      options we ignore in the future, as a table.
*/
if ((option->code == DHO_DHCP_LEASE_TIME) ||
((local_family != AF_INET6) &&
                  ((option->code == DHO_DHCP_RENEWAL_TIME) ||
                   (option->code == DHO_DHCP_REBINDING_TIME))))
                    {
                      log_error("WARNING: server ignoring option %s "
                                                          "in configuration file.",
                                          option->name);
                                                }



>From dhcp-4.1-ESV-R7/includes/dhcp.h
Line 152:
#define DHO_DHCP_RENEWAL_TIME                                    58



>From dhcp-4.1-ESV-R7/server/dhcp.c
Line 1215:
             /*
                * Remove any time options, per section 3.4 RFC 2131
                */
                delete_option(&dhcp_universe, options, DHO_DHCP_LEASE_TIME);
                delete_option(&dhcp_universe, options, DHO_DHCP_RENEWAL_TIME);
                delete_option(&dhcp_universe, options, DHO_DHCP_REBINDING_TIME);

                /* Set up the option buffer... */


Thanks,
Scott Wedekind

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.isc.org/pipermail/dhcp-users/attachments/20121015/724dcffe/attachment.html>


More information about the dhcp-users mailing list