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

Amos Kong akong at redhat.com
Thu Sep 15 15:55:30 UTC 2011


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?

Try to re-start host network, I can capture random dhcp idx, it's not fixed.

Amos

> Whats the reason behind this patch? Whats wrong with current selection
> of xid?



More information about the ipxe-devel mailing list