netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Maciej Żenczykowski" <maze@google.com>
To: Simon Horman <simon.horman@corigine.com>
Cc: Patrick Rohr <prohr@google.com>,
	"David S . Miller" <davem@davemloft.net>,
	 Linux Network Development Mailing List <netdev@vger.kernel.org>,
	Lorenzo Colitti <lorenzo@google.com>,
	 David Ahern <dsahern@kernel.org>
Subject: Re: [net-next v2] net: change accept_ra_min_rtr_lft to affect all RA lifetimes
Date: Thu, 27 Jul 2023 14:38:24 +0200	[thread overview]
Message-ID: <CANP3RGdeT5MGaxEyYA6LP2kiEGQmA-VdSVf8bme2KR+4mLa79w@mail.gmail.com> (raw)
In-Reply-To: <ZMJh1RS+EaGsmgZJ@corigine.com>

On Thu, Jul 27, 2023 at 2:24 PM Simon Horman <simon.horman@corigine.com> wrote:
>
> On Wed, Jul 26, 2023 at 04:07:01PM -0700, Patrick Rohr wrote:
> > accept_ra_min_rtr_lft only considered the lifetime of the default route
> > and discarded entire RAs accordingly.
> >
> > This change renames accept_ra_min_rtr_lft to accept_ra_min_lft, and
> > applies the value to individual RA sections; in particular, router
> > lifetime, PIO preferred lifetime, and RIO lifetime. If any of those
> > lifetimes are lower than the configured value, the specific RA section
> > is ignored.
> >
> > In order for the sysctl to be useful to Android, it should really apply
> > to all lifetimes in the RA, since that is what determines the minimum
> > frequency at which RAs must be processed by the kernel. Android uses
> > hardware offloads to drop RAs for a fraction of the minimum of all
> > lifetimes present in the RA (some networks have very frequent RAs (5s)
> > with high lifetimes (2h)). Despite this, we have encountered networks
> > that set the router lifetime to 30s which results in very frequent CPU
> > wakeups. Instead of disabling IPv6 (and dropping IPv6 ethertype in the
> > WiFi firmware) entirely on such networks, it seems better to ignore the
> > misconfigured routers while still processing RAs from other IPv6 routers
> > on the same network (i.e. to support IoT applications).
> >
> > The previous implementation dropped the entire RA based on router
> > lifetime. This turned out to be hard to expand to the other lifetimes
> > present in the RA in a consistent manner; dropping the entire RA based
> > on RIO/PIO lifetimes would essentially require parsing the whole thing
> > twice.
> >
> > Fixes: 1671bcfd76fd ("net: add sysctl accept_ra_min_rtr_lft")
> > Cc: Maciej Żenczykowski <maze@google.com>
> > Cc: Lorenzo Colitti <lorenzo@google.com>
> > Cc: David Ahern <dsahern@kernel.org>
> > Signed-off-by: Patrick Rohr <prohr@google.com>
> > ---
> >  Documentation/networking/ip-sysctl.rst |  8 ++++----
> >  include/linux/ipv6.h                   |  2 +-
> >  include/uapi/linux/ipv6.h              |  2 +-
> >  net/ipv6/addrconf.c                    | 14 ++++++++-----
> >  net/ipv6/ndisc.c                       | 27 +++++++++++---------------
> >  5 files changed, 26 insertions(+), 27 deletions(-)
> >
> > diff --git a/Documentation/networking/ip-sysctl.rst b/Documentation/networking/ip-sysctl.rst
> > index 37603ad6126b..a66054d0763a 100644
> > --- a/Documentation/networking/ip-sysctl.rst
> > +++ b/Documentation/networking/ip-sysctl.rst
> > @@ -2288,11 +2288,11 @@ accept_ra_min_hop_limit - INTEGER
> >
> >       Default: 1
> >
> > -accept_ra_min_rtr_lft - INTEGER
> > -     Minimum acceptable router lifetime in Router Advertisement.
> > +accept_ra_min_lft - INTEGER
> > +     Minimum acceptable lifetime value in Router Advertisement.
>
> Hi Patrick, all,
>
> I am concerned about UAPI-breakage aspects of changing the name of a sysctl.
> Can we discuss that?

This isn't uapi yet as it (the old name) was only merged a few days ago.

  reply	other threads:[~2023-07-27 12:38 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-26 23:07 [net-next v2] net: change accept_ra_min_rtr_lft to affect all RA lifetimes Patrick Rohr
2023-07-27 12:23 ` Simon Horman
2023-07-27 12:38   ` Maciej Żenczykowski [this message]
2023-07-27 12:45     ` Simon Horman
2023-07-27 12:51 ` Maciej Żenczykowski
2023-07-27 15:24 ` David Ahern
2023-07-28 20:32 ` Jakub Kicinski
2023-07-28 20:40 ` patchwork-bot+netdevbpf

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=CANP3RGdeT5MGaxEyYA6LP2kiEGQmA-VdSVf8bme2KR+4mLa79w@mail.gmail.com \
    --to=maze@google.com \
    --cc=davem@davemloft.net \
    --cc=dsahern@kernel.org \
    --cc=lorenzo@google.com \
    --cc=netdev@vger.kernel.org \
    --cc=prohr@google.com \
    --cc=simon.horman@corigine.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).