grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: RFC Remove classful causing incorrect routing behavior


From: Mroczek, Joseph T
Subject: RE: RFC Remove classful causing incorrect routing behavior
Date: Tue, 29 Apr 2014 00:07:10 +0000


> From: Andrey Borzenkov [mailto:address@hidden
> Sent: Monday, April 21, 2014 7:36 PM
> 
> В Tue, 22 Apr 2014 00:13:15 +0000
> "Mroczek, Joseph T" <address@hidden> пишет:
> 
> > > From: Andrey Borzenkov [mailto:address@hidden
> > > Sent: Monday, April 21, 2014 10:42 AM
> > >
> > > В Mon, 21 Apr 2014 15:56:07 +0000
> > > "Mroczek, Joseph T" <address@hidden> пишет:
> > > >
> > > > > From: Behalf Of Vladimir 'f-coder/phcoder' Serbinenko On
> > > > > 19.04.2014 02:48, Mroczek, Joseph T wrote:
> > > > > > Hello:
> > > > > >
> > > > > > Currently, the DHCP logic assumes that if a gateway is
> > > > > > received in the DHCP
> > > > > packet the boot server is on a remote network. Given that CIDR
> > > > > is now over
> > > > > 20 years old, I think it is a safe assumption that a netmask
> > > > > will be offered in DHCP options.
> > > > > >
> > > > > > Can this be removed? Or is there still a need to cover the classful
> case?
> > > > > >
> > > > > Please detail the failure scenario.
> > > > > Current code follows standard behaviour for PXE clients and
> > > > > changing it would break any installation which relies on it.
> > > >
> > >
> > > Hmm ... re-reading RFC2131 I ask myself what are conditions when
> > > *client* is supposed to use gateway_ip at all. According to RFC,
> > > giaddr is set by DHCP relay when it forwards request from client so
> > > server knows where to send reply to. DHCP relay then forwards reply
> > > on local subnet according to standard rules. RFC does not say anything
> about client usage of this field.
> > > Actually there is no requirement that DHCP relay also functions as
> > > normal router.
> >
> > Use of giaddr as a gateway dates back to RFC951. At that point in time we
> did not have DHCP options, so this was a way to dynamicially learn the
> gateway.
> >
> 
> Oh. Digging further, RFC1542 quite explicitly states the same:
> 
>    A BOOTP client MUST NOT interpret the 'giaddr' field of a BOOTREPLY
>    message to be the IP address of an IP router.  A BOOTP client SHOULD
>    completely ignore the contents of the 'giaddr' field in BOOTREPLY
>    messages.
> 

I saw this. I did not remove all of the use of giaddr field because of 
regression concerns.

> > > > The failure will occur in most if not all cases where the DHCP
> > > > sends a gateway when the boot server is on the same subnet as the
> > > > client,
> > >
> > > In view of the above, how is it possible? DHCP server is not
> > > supposed to set this field at all - at the most it simply replies
> > > back to relay with same value of giaddr it got. If giaddr is set it
> > > is already indication that server and client are on different subnets.
> >
> > For my case, DHCP server is on different subnet but boot/TFTP server is on
> same as client.
> >
> 
> I see. I rather agree with your patch, it looks like semantic of giaddr was
> settled 20 years ago.

Great. Thanks!



reply via email to

[Prev in Thread] Current Thread [Next in Thread]