bug in DHCPv6 option parse for on commit {} ?
perl-list
perl-list at network1.net
Thu Dec 22 15:41:30 UTC 2016
having something like this in the dhcpd.conf file for DHCPv6:
on commit {
if exists dhcp6.ia-na {
log(debug,
concat( "LEASED,",
"IPTIME,",binary-to-ascii(10, 32, "", substring(option dhcp6.ia-na,36,4)),","
)
);
}
}
Will produce a value for IPTIME that is equal to the time requested by the client instead of what was given by the server.
For example:
Client (Redhat Enterprise Linux 7 - ISC DHCP 4.2.5) sends a Renew for an IPv6 address via DHCPv6 requesting the following times (As seen in wireshark capture):
T1: 3600
T2: 5400
Preferred Lifetime: 7200
Valid Lifetime: 7500
Server (generic Linux - ISC DHCP 4.3.3) is configured with this time setting in the pool6 {} statement:
default-lease-time 600;
Server responds with times like this (as seen in wireshark capture):
T1: 0
T2: 0
Preferred Lifetime: 375
Valid Lifetime: 600
What is logged in the log file is 7500 not 600.
The client lease file shows the following times:
Renew: 0
Rebind: 0
Preferred Lifetime: 375
Valid Lifetime: 600
So, it seems that the dhcp options available in on commit {} are what the client sent in instead of those the server sent in response? Is that a bug? Or do I not understand how on commit {} works? I assumed that on commit {} would have access to the options as set by the server that were sent back to the client.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.isc.org/pipermail/dhcp-users/attachments/20161222/07dee623/attachment.html>
More information about the dhcp-users
mailing list