All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrey Borzenkov <arvidjaar@gmail.com>
To: "Mroczek, Joseph T" <joseph.t.mroczek@intel.com>
Cc: The development of GNU GRUB <grub-devel@gnu.org>
Subject: Re: RFC Remove classful causing incorrect routing behavior
Date: Tue, 22 Apr 2014 06:36:14 +0400	[thread overview]
Message-ID: <20140422063614.4970abfe@opensuse.site> (raw)
In-Reply-To: <6D165E863E048E4D86C25F15CEA532979767843D@ORSMSX109.amr.corp.intel.com>

В Tue, 22 Apr 2014 00:13:15 +0000
"Mroczek, Joseph T" <joseph.t.mroczek@intel.com> пишет:

> > From: Andrey Borzenkov [mailto:arvidjaar@gmail.com]
> > Sent: Monday, April 21, 2014 10:42 AM
> > 
> > В Mon, 21 Apr 2014 15:56:07 +0000
> > "Mroczek, Joseph T" <joseph.t.mroczek@intel.com> пишет:
> > >
> > > > 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.

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


  reply	other threads:[~2014-04-22  2:36 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-19  0:48 RFC Remove classful causing incorrect routing behavior Mroczek, Joseph T
2014-04-20 14:15 ` Vladimir 'φ-coder/phcoder' Serbinenko
2014-04-21 15:56   ` Mroczek, Joseph T
2014-04-21 17:41     ` Andrey Borzenkov
2014-04-22  0:13       ` Mroczek, Joseph T
2014-04-22  2:36         ` Andrey Borzenkov [this message]
2014-04-29  0:07           ` Mroczek, Joseph T
2014-05-22 16:54             ` Mroczek, Joseph T

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140422063614.4970abfe@opensuse.site \
    --to=arvidjaar@gmail.com \
    --cc=grub-devel@gnu.org \
    --cc=joseph.t.mroczek@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.