[Bug 6614] Questionable implementation of RFC2132 - udhcpc

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


--- 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
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.

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