[Nagiosplug-devel] [ nagiosplug-Bugs-1090549 ] check_dhcp ignores DHCP replies

SourceForge.net noreply at sourceforge.net
Tue Jan 4 02:42:37 CET 2005


Bugs item #1090549, was opened at 2004-12-23 21:21
Message generated for change (Comment added) made by zyta2k
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=397597&aid=1090549&group_id=29880

Category: None
Group: v1.3.0 beta3
Status: Open
Resolution: None
Priority: 5
Submitted By: L.C. (Laurentiu C. Badea) (wotevah)
Assigned to: Benoit Mortier (opensides)
Summary: check_dhcp ignores DHCP replies

Initial Comment:
check_dhcp ignores the DHCP replies apparently because
they are broadcast to 255.255.255.255.

<CLIENT>.bootpc > 255.255.255.255.bootps: BOOTP/DHCP,
Request from <mac>, length: 548, flags: [Broadcast]
<SERVER>.bootps > 255.255.255.255.bootpc: BOOTP/DHCP,
Reply, length: 420, flags: [Broadcast] (0x8000)

I believe the problem may be that recvfrom is not
expecting a possible broadcast packet in response, so
it ignores it. Relevant part from strace below:

sendto(3, <packet>, 548, 0, {sa_family=AF_INET,
sin_port=htons(67),
sin_addr=inet_addr("255.255.255.255")}, 16) = 548
time([1103833074])                      = 1103833074
time([1103833074])                      = 1103833074
select(4, [3], NULL, NULL, {2, 0})      = 1 (in [3],
left {1, 999000})
recvfrom(3, 0xfef67370, 548, 2, 0xfef67280, 0xfef67274)
= -1 EINVAL (Invalid argument)
recvfrom(3, 0xfef67370, 548, 0, 0xfef67280, 0xfef67274)
= -1 EINVAL (Invalid argument)

Client is Fedora Core 2 with
nagios-plugins-1.3.1-10.1.fc2.dag.
Server is Red Hat 9 with dhcp-3.0pl1-23.


----------------------------------------------------------------------

Comment By: zyta2k (zyta2k)
Date: 2005-01-04 11:41

Message:
Logged In: YES 
user_id=544197

I can confirm the problem...

=== Verbose Output From Plugin ===
DHCP socket: 3
Hardware address: 00110a32c75e
DHCPDISCOVER to 255.255.255.255 port 67
DHCPDISCOVER XID: 1269450911 (0x4BAA489F)
DHCDISCOVER ciaddr:  0.0.0.0
DHCDISCOVER yiaddr:  0.0.0.0
DHCDISCOVER siaddr:  0.0.0.0
DHCDISCOVER giaddr:  0.0.0.0
send_dhcp_packet result: 548
No (more) data received
Result=ERROR
Total responses seen on the wire: 0
Valid responses for this machine: 0
DHCP problem: No DHCPOFFERs were received.

============= TCPDUMP ============
# tcpdump -vv dst port 68
tcpdump: listening on eth0, link-type EN10MB (Ethernet),
capture size 96 bytes
11:25:54.418410 IP (tos 0x0, ttl  63, id 0, offset 0, flags
[DF], proto 17, length: 341) dhcp01.foobar.com >
255.255.255.255.bootpc: BOOTP/DHCP, Reply, length: 313,
xid:0x4baa489f, secs:65280, flags: [Broadcast] (0x8000)
          Your IP: 10.29.20.121
          Server IP: dhcp01.foobar.com
          Gateway IP: 10.29.20.2
          Client Ethernet Address: 00:11:0a:32:c7:5e [|bootp]
11:25:54.418675 IP (tos 0x0, ttl  62, id 0, offset 0, flags
[DF], proto 17, length: 341) dhcp01.foobar.com.bootps >
255.255.255.255.bootpc: BOOTP/DHCP, Reply, length: 313,
xid:0x4baa489f, secs:65280, flags: [Broadcast] (0x8000)
          Your IP: 10.29.20.121
          Server IP: dhcp01.foobar.com
          Gateway IP: 10.29.20.3
          Client Ethernet Address: 00:11:0a:32:c7:5e [|bootp]
11:25:54.418975 IP (tos 0x0, ttl  63, id 0, offset 0, flags
[DF], proto 17, length: 341) dhcp02.foobar.com.bootps >
255.255.255.255.bootpc: BOOTP/DHCP, Reply, length: 313,
xid:0x4baa489f, secs:65280, flags: [Broadcast] (0x8000)
          Your IP: 10.29.20.143
          Server IP: dhcp02.foobar.com
          Gateway IP: 10.29.20.2
          Client Ethernet Address: 00:11:0a:32:c7:5e [|bootp]
11:25:54.421156 IP (tos 0x0, ttl  62, id 0, offset 0, flags
[DF], proto 17, length: 341) dhcp02.foobar.com.bootps >
255.255.255.255.bootpc: BOOTP/DHCP, Reply, length: 313,
xid:0x4baa489f, secs:65280, flags: [Broadcast] (0x8000)
          Your IP: 10.29.20.143
          Server IP: dhcp02.foobar.com
          Gateway IP: 10.29.20.3
          Client Ethernet Address: 00:11:0a:32:c7:5e [|bootp]
4 packets captured
4 packets received by filter
0 packets dropped by kernel

========== MY SYSTEM =============
Distribution: Fedora Core 3
Kernel: 2.6.9
Glibc: 2.3.4
Plugin Version: CVS v 1.6 2004/12/30 00:41:39

hth
zyta2k

----------------------------------------------------------------------

Comment By: Reuben Farrelly (reuben)
Date: 2005-01-02 21:48

Message:
Logged In: YES 
user_id=26209

Still no go here either using bleeding edge CVS (on FC3):

sendto(3,
"\1\1\6\0\6\372\275\241\377\0\200\0\0\0\0\0\0\0\0\0\0\0"...,
548, 0, {sa_family=AF_INET, sin_port=htons(67),
sin_addr=inet_addr("255.255.255.255")}, 16) = 548
time([1104698558])                      = 1104698558
time([1104698558])                      = 1104698558
select(4, [3], NULL, NULL, {2, 0})      = 0 (Timeout)
time([1104698560])                      = 1104698560
close(3)                                = 0

Returns with "DHCP problem: No DHCPOFFERs were received." 
Meanwhile the DHCP server has seen the DHCPDISCOVER come in
and DHCPOFFER'ed an address to 255.255.255.255.bootpc

----------------------------------------------------------------------

Comment By: Benoit Mortier (opensides)
Date: 2005-01-02 19:42

Message:
Logged In: YES 
user_id=388184

Hi, 
 
could you test with the lastest cvs, and report your findings 
 
Thanks 

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=397597&aid=1090549&group_id=29880




More information about the Devel mailing list