[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAF2d9jj9bv=mUFgAsi9Xu4NHpFoAUdxzJA4yFqitT2AhnmZAAQ@mail.gmail.com>
Date: Tue, 25 Aug 2020 18:49:14 -0700
From: Mahesh Bandewar (महेश बंडेवार)
<maheshb@...gle.com>
To: Maciej Żenczykowski <maze@...gle.com>
Cc: Randy Dunlap <rdunlap@...radead.org>,
Netdev <netdev@...r.kernel.org>,
David Miller <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Eric Dumazet <edumazet@...gle.com>,
Mahesh Bandewar <mahesh@...dewar.net>,
Jian Yang <jianyang@...gle.com>
Subject: Re: [PATCHv2 next] net: add option to not create fall-back tunnels in
root-ns as well
On Tue, Aug 25, 2020 at 5:42 PM Maciej Żenczykowski <maze@...gle.com> wrote:
>
> On Tue, Aug 25, 2020 at 4:00 PM Mahesh Bandewar (महेश बंडेवार)
> <maheshb@...gle.com> wrote:
> >
> > On Tue, Aug 25, 2020 at 3:47 PM Randy Dunlap <rdunlap@...radead.org> wrote:
> > >
> > > On 8/25/20 3:42 PM, Mahesh Bandewar wrote:
> > > > The sysctl that was added earlier by commit 79134e6ce2c ("net: do
> > > > not create fallback tunnels for non-default namespaces") to create
> > > > fall-back only in root-ns. This patch enhances that behavior to provide
> > > > option not to create fallback tunnels in root-ns as well. Since modules
> > > > that create fallback tunnels could be built-in and setting the sysctl
> > > > value after booting is pointless, so added a kernel cmdline options to
> > > > change this default. The default setting is preseved for backward
> > > > compatibility. The kernel command line option of fb_tunnels=initns will
> > > > set the sysctl value to 1 and will create fallback tunnels only in initns
> > > > while kernel cmdline fb_tunnels=none will set the sysctl value to 2 and
> > > > fallback tunnels are skipped in every netns.
> > > >
> > > > Signed-off-by: Mahesh Bandewar <maheshb@...gle.com>
> > > > Cc: Eric Dumazet <edumazet@...gle.com>
> > > > Cc: Maciej Zenczykowski <maze@...gle.com>
> > > > Cc: Jian Yang <jianyang@...gle.com>
> > > > ---
> > > > v1->v2
> > > > Removed the Kconfig option which would force rebuild and replaced with
> > > > kcmd-line option
> > > >
> > > > .../admin-guide/kernel-parameters.txt | 5 +++++
> > > > Documentation/admin-guide/sysctl/net.rst | 20 +++++++++++++------
> > > > include/linux/netdevice.h | 7 ++++++-
> > > > net/core/sysctl_net_core.c | 17 ++++++++++++++--
> > > > 4 files changed, 40 insertions(+), 9 deletions(-)
> > > >
> > > > diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
> > > > index a1068742a6df..09a51598c792 100644
> > > > --- a/Documentation/admin-guide/kernel-parameters.txt
> > > > +++ b/Documentation/admin-guide/kernel-parameters.txt
> > > > @@ -801,6 +801,11 @@
> > > >
> > > > debug_objects [KNL] Enable object debugging
> > > >
> > > > + fb_tunnels= [NET]
> > > > + Format: { initns | none }
> > > > + See Documentation/admin-guide/sysctl/net.rst for
> > > > + fb_tunnels_only_for_init_ns
> > > > +
> > >
> > > Not at this location in this file.
> > > Entries in this file are meant to be in alphabetical order (mostly).
> > >
> > > So leave debug_objects and no_debug_objects together, and insert fb_tunnels
> > > between fail_make_request= and floppy=.
> > >
> > I see. I'll fix it in the next revision.
> > thanks for the suggestion.
> > --mahesh..
> >
> > > Thanks.
> > >
> > > > no_debug_objects
> > > > [KNL] Disable object debugging
> > > >
> > >
> > > --
> > > ~Randy
>
> Setting it to 1 via kcmdline doesn't seem all that useful, since
> instead of that you can just use initrc/sysctl.conf/etc.
>
> Would it be simpler if it was just 'no_fb_tunnels' or
> 'no_fallback_tunnels' and the function just set the sysctl to 2
> unconditionally?
> (ie. no =.... parsing at all) that would also be less code...
>
To make it simple; all methods should be able to set all values. Otherwise I
agree that it makes less sense to set value = 1 via kcmd. Also one can assign
value = 2 to sysctl once kernel is booted, it may not produce desired results
always but would work if you load modules after changing the sysctl value. I
guess the idea here is to give user full control on what their
situation is and choose
the correct method for the desired end result.
> btw. I also don't understand the '!IS_ENABLED(CONFIG_SYSCTL) ||'
> piece. Why not just delete that?
> This seems to force fallback tunnels if you disable CONFIG_SYSCTL...
> but (a) then the kcmdline option doesn't work,
> and (b) that should already just happen by virtue of the sysctl defaulting to 0.
agreed. will remove it (!IS_ENABLED(CONFIG_SYSCTL) check) in the next revision.
Powered by blists - more mailing lists