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