dhcpleasequery problems - 4.2.2
Jack Kielsmeier
jackkiel at netins.net
Mon Oct 17 19:10:08 UTC 2011
Hello,
We are running ISC DHCP 4.2.2 in a redundant fashion (failover peer) in
Solaris 11 zones (compiled from source).
Recently, we have determined that we need to make use of the DHCP leasequery
option. In testing, we notice the following occurring in our logs:
------------ LOGS ------------
Oct 17 13:19:03 dhcp-dsm dhcpd: [ID 702911 local5.error] Impossible
condition at dhcpleasequery.c:492.
Oct 17 13:19:09 dhcp-dsm dhcpd: [ID 702911 local5.error] Impossible
condition at dhcpleasequery.c:492.
Oct 17 13:19:15 dhcp-dsm dhcpd: [ID 702911 local5.error] Impossible
condition at dhcpleasequery.c:492.
Oct 17 13:19:21 dhcp-dsm dhcpd: [ID 702911 local5.error] Impossible
condition at dhcpleasequery.c:492.
Oct 17 13:22:34 dhcp-dsm dhcpd: [ID 702911 local5.error] Impossible
condition at dhcpleasequery.c:492.
Oct 17 13:22:39 dhcp-dsm dhcpd: [ID 702911 local5.error] Impossible
condition at dhcpleasequery.c:492.
------------ END LOGS ------------
Line 432 looks like this:
lease_dereference(&lease, MDL);
It's part of this section:
------------ SNIP FROM dhcpleasequery.c ------------
if (lease->uid_len > 0) {
if (!add_option(options,
DHO_DHCP_CLIENT_IDENTIFIER,
lease->uid,
lease->uid_len)) {
option_state_dereference(&options, MDL);
lease_dereference(&lease, MDL);
log_info("%s: out of memory, no reply sent",
msgbuf);
return;
}
}
------------ END SNIP FROM dhcpleasequery.c ------------
The packet coming from the source looks like the following:
------------ PACKET ------------
Frame 4 (294 bytes on wire, 294 bytes captured)
Internet Protocol, Src: 167.142.41.2 (167.142.41.2), Dst: 167.142.225.132
(167.142.225.132)
Version: 4
Header length: 20 bytes
Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
0000 00.. = Differentiated Services Codepoint: Default (0x00)
.... ..0. = ECN-Capable Transport (ECT): 0
.... ...0 = ECN-CE: 0
Total Length: 280
Identification: 0x7d28 (32040)
Flags: 0x00
0.. = Reserved bit: Not Set
.0. = Don't fragment: Not Set
..0 = More fragments: Not Set
Fragment offset: 0
Time to live: 254
Protocol: UDP (0x11)
Header checksum: 0xe508 [correct]
[Good: True]
[Bad : False]
Source: 167.142.41.2 (167.142.41.2)
Destination: 167.142.225.132 (167.142.225.132)
User Datagram Protocol, Src Port: bootpc (68), Dst Port: bootps (67)
Source port: bootpc (68)
Destination port: bootps (67)
Length: 260
Checksum: 0xcbac [validation disabled]
[Good Checksum: False]
[Bad Checksum: False]
Bootstrap Protocol
Message type: Boot Request (1)
Hardware type: NET/ROM pseudo
Hardware address length: 0
Hops: 0
Transaction ID: 0x0000084f
Seconds elapsed: 0
Bootp flags: 0x0000 (Unicast)
0... .... .... .... = Broadcast flag: Unicast
.000 0000 0000 0000 = Reserved flags: 0x0000
Client IP address: 209.152.95.8 (209.152.95.8)
Your (client) IP address: 0.0.0.0 (0.0.0.0)
Next server IP address: 0.0.0.0 (0.0.0.0)
Relay agent IP address: 167.142.41.2 (167.142.41.2)
Client address not given
Server host name not given
Boot file name not given
Magic cookie: (OK)
Option: (t=53,l=1) DHCP Message Type = DHCP Lease query
Option: (53) DHCP Message Type
Length: 1
Value: 0A
Option: (t=57,l=2) Maximum DHCP Message Size = 1152
Option: (57) Maximum DHCP Message Size
Length: 2
Value: 0480
Option: (t=55,l=2) Parameter Request List
Option: (55) Parameter Request List
Length: 2
Value: 3352
51 = IP Address Lease Time
82 = Agent Information Option
End Option
------------ END PACKET ------------
The device doing the query is a Cisco device. We do have the following set
in our dhcpd.conf file (in the global area):
allow leasequery;
Any assistance with this matter would be greatly appreciated. I do not know
what else to provide (such as the entire dhcpd.conf file, which is pretty
long).
Thank You,
-
Jack Kielsmeier
netINS Systems Administrator
systems at netins.net
More information about the dhcp-users
mailing list