[ipxe-devel] [PATCH] [dhcp] Use random transaction ID to associate messages

Amos Kong akong at redhat.com
Sun Sep 18 01:05:15 UTC 2011


----- Original Message -----
> Whole Archive: http://marc.info/?l=kvm&m=131609166918121&w=2
> 
> ----- Original Message -----
> > On Thu, 2011-09-15 at 10:43 -0400, Amos Kong wrote:
> > > ----- Original Message -----
> > > > ----- Original Message -----
> > > > > On Thu, 15 Sep 2011 21:00:38 +0800, Amos Kong
> > > > > <akong at redhat.com>
> > > > > wrote:
> > > > >
> > > > > > + netdev->xid = random();
> > > > >
> > > > > This will not work for reboots. The decision that the
> > > > > hardware
> > > > > address
> > > > > is
> > > > > choosen was not accidental. Not sure if some DHCP server will
> > > > > count
> > > > > on
> > > > > the
> > > > > ID. (RFC 2131 "Retain DHCP client configuration across server
> > > > > reboots,
> > > > > and,
> > > > > whenever possible, a DHCP client should be assigned the same
> > > > > configuration
> > > > > parameters despite restarts of the DHCP mechanism"). If not
> > > > > so I
> > > > > am
> > > > > fine
> > > > > with the patch.
> > >
> > > Hi Hagen,
> > >
> > > rfc2131 clearly describes that we need a random xid,
> > > I don't think xid is a port of "DHCP client configuration",
> > > it only be used to associate messages and responses between
> > > client
> > > and server.
> > >
> > > I would post a patch to ipxe maillist later if it's ok.
> > 
> > rfc2131 only required that "A DHCP client MUST choose 'xid's in
> > such a
> > way as to minimize the chance of using an 'xid' identical to one
> > used
> > by another client.".
> > 
> > The 'random xid' suggestion is listed merely as an example.
> > 
> > The way I see it using a xid based on MAC instead of a random
> > number
> > is
> > safer since the odds for same MAC on the same network are pretty
> > slim
> > since it would cause problems on other layers in the network.
> 
> Users may boot up a QEMU guest without default mac address, it's easy
> to repeat.
> 
> Yaniv, what real problem do you touched? only not in accordance to
> the RFC?

Answer from Yaniv:
Indeed. I saw some people complaining on inability to get a DHCP address, and
from the network capture saw that. We have no idea why the failed most of the
times to get an IP address with PXE boot.




More information about the ipxe-devel mailing list