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

SourceForge.net noreply at sourceforge.net
Fri Jan 21 01:36:37 CET 2005


Bugs item #1090549, was opened at 2004-12-23 20:21
Message generated for change (Comment added) made by stanleyhopcroft
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: Stanley Hopcroft (stanleyhopcroft)
Date: 2005-01-21 09:35

Message:
Logged In: YES 
user_id=395628

Thank you for a superb PR.

Unfortunately, this is unlikely to help you much but would
you please try the latest CVS (not tar ball) and post your
command invocation (changes have been made to get it to
build properly on Linux and FreeBSD - you seem to have done
this yourself).


On FreeBSD 4.10 and ISC dhcpd (V3.0.1rc14), it works Ok.

The reply to the discover should be a broadcast (methinks)
since the client has no ip.

Thanks for your help.



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

Comment By: zyta2k (zyta2k)
Date: 2005-01-04 10: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 20: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 18: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