[Bug 6614] Questionable implementation of RFC2132 - udhcpc

bugzilla at busybox.net bugzilla at busybox.net
Mon Oct 28 23:09:23 UTC 2013


https://bugs.busybox.net/show_bug.cgi?id=6614

--- Comment #1 from Denys Vlasenko <vda.linux at googlemail.com> 2013-10-28 23:09:23 UTC ---
(In reply to comment #0)
> Hi there,
> 
> I produce an RFC2132 compliant (I believe) DHCP server, 
> 
> This server has a behavioural mechanism which, if enabled, omits option 54
> (Server ID) in the DHCPOFFER message.
> 
> The reason for this, is that the server does not have an IP address, it
> communicates solely
> through Ethernet (so broadcast listen and unicast MAC response). 
> 
> udhcpc seemingly requires a server ID, if you don't provide one, it responds
> with:
> 
> bb_error_msg("no server ID, ignoring packet");
> 
> and processing stops.
> 
> ISC DHCP client does not display this behaviour.
> 
> Nothing I appear to have read in RFC2132 indicates that this 'option' is
> mandatory in all cases,  there is no RFC2119 language (MUST, SHOULD) which
> indicates this, but it is clear in which scenarios it is needed (for example,
> unicast IP response)

RFC 2131:

""'
2. Protocol Summary
...
   ...  A DHCP server always returns its own address in the 'server
   identifier' option. ...
"""

"""
3.1 Client-server interaction - allocating a network address
...
     ... The client broadcasts a DHCPREQUEST message
     that MUST include the 'server identifier' option to indicate which
     server it has selected ...
"""

"""
4.3.2 DHCPREQUEST message

   A DHCPREQUEST message may come from a client responding to a
   DHCPOFFER message from a server, from a client verifying a previously
   allocated IP address or from a client extending the lease on a
   network address.  If the DHCPREQUEST message contains a 'server
   identifier' option, the message is in response to a DHCPOFFER
   message.  Otherwise, the message is a request to verify or extend an
   existing lease.
"""

If server ID is not provided, client can't send it back
in its DHCPREQUEST answer to DHCPOFFER.
IOW: it can't specify to which of potentially many DHCP
servers it is replying to. (DHCPREQUEST packet is broadcast,
so its destination IP address can't be used for that.)

A server-id-less DHCP server looks like a corner case with
questionable validity.
validity.

-- 
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


More information about the busybox-cvs mailing list