All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Mahesh Bandewar (महेश बंडेवार)" <maheshb@google.com>
To: Jakub Kicinski <kuba@kernel.org>
Cc: nicolas.dichtel@6wind.com, David Ahern <dsahern@gmail.com>,
	Ido Schimmel <idosch@idosch.org>,
	Jian Yang <jianyang.kernel@gmail.com>,
	David Miller <davem@davemloft.net>,
	linux-netdev <netdev@vger.kernel.org>,
	Jian Yang <jianyang@google.com>,
	Eric Dumazet <edumazet@google.com>
Subject: Re: [PATCH net-next] net-loopback: allow lo dev initial state to be controlled
Date: Tue, 1 Dec 2020 12:24:38 -0800	[thread overview]
Message-ID: <CAF2d9jgHOqsQFHE7tMwkgAQv2N24t3UWcMrK+ZnmfYNXHsPWuQ@mail.gmail.com> (raw)
In-Reply-To: <20201119205633.6775c072@kicinski-fedora-PC1C0HJN.hsd1.ca.comcast.net>

On Thu, Nov 19, 2020 at 8:56 PM Jakub Kicinski <kuba@kernel.org> wrote:
>
> On Thu, 19 Nov 2020 19:55:08 -0800 Mahesh Bandewar (महेश बंडेवार) wrote:
> > On Thu, Nov 19, 2020 at 12:03 AM Nicolas Dichtel
> > > Le 18/11/2020 à 18:39, Mahesh Bandewar (महेश बंडेवार) a écrit :
> > > > netns but would create problems for workloads that create netns to
> > > > disable networking. One can always disable it after creating the netns
> > > > but that would mean change in the workflow and it could be viewed as
> > > > regression.
> > > The networking is very limited with only a loopback. Do you have some real use
> > > case in mind?
> >
> > My use cases all use networking but I think principally we cannot
> > break backward compatibility, right?
> > Jakub, WDYT?
>
> Do you have more details on what the use cases are that expect no
> networking?
>
> TBH I don't get the utility of this knob. If you want to write vaguely
> portable software you have to assume the knob won't be useful, because
> either (a) kernel may be old, or (b) you shouldn't assume to own the
> sysctls and this is a global one (what if an application spawns that
> expects legacy behavior?)
>
> And if you have to check for those two things you're gonna write more
> code than just ifuping lo would be.
>
> Maybe you can shed some more light on how it makes life at Google
> easier for you? Or someone else can enlighten me?
>
> I don't have much practical experience with namespaces, but the more
> I think about it the more pointless it seems.

Thanks for the input.

Sorry, I was on vacation and couldn't process this response earlier.

There are two things that this patch is providing and let me understand the
objections well.

(a) Bring up lo by default
(b) sysctl to protect the legacy behavior

Frankly we really dont have any legacy-behavior use case and one can
bring it back to life by just doing 'ifdown lo' if necessary. Most of
the use cases involve using networking anyways. My belief was that we
need to protect legacy behavior and hence went lengths to add sysctl
to protect it. If we are OK not to have it, I'm more than happy to
remove the sysctl and just have the 3 line patch to bring loopback up.

If legacy-behavior is a concern (which I thought generally is), then
either we can have the sysctl to have it around to protect it (the
current implementation) but if we prefer to have kernel-command-line
instead of sysctl that defaults to legacy behavior but if provided, we
can set it UP by default during boot (or the other way around)?

My primary motive is (a) while (b) is just a side-effect which we can
get away if deemed unnecessary.

  reply	other threads:[~2020-12-01 20:25 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-11 20:43 [PATCH net-next] net-loopback: allow lo dev initial state to be controlled Jian Yang
2020-11-12 16:08 ` Andrew Lunn
2020-11-12 19:54   ` Dan Williams
2020-11-14 18:17 ` Jakub Kicinski
2020-11-16 20:02   ` Mahesh Bandewar (महेश बंडेवार)
2020-11-16 20:17     ` Jakub Kicinski
2020-11-16 20:50       ` Mahesh Bandewar (महेश बंडेवार)
2020-11-16 21:20         ` Jakub Kicinski
2020-11-16 21:42           ` Mahesh Bandewar (महेश बंडेवार)
2020-11-16 20:34     ` Jakub Kicinski
2020-11-16 21:03       ` Mahesh Bandewar (महेश बंडेवार)
2020-11-17 17:18         ` Ido Schimmel
2020-11-17 20:53           ` Mahesh Bandewar (महेश बंडेवार)
2020-11-18  1:12             ` David Ahern
2020-11-18 16:58               ` Nicolas Dichtel
2020-11-18 17:39                 ` Mahesh Bandewar (महेश बंडेवार)
2020-11-18 18:04                   ` David Ahern
2020-11-18 19:54                     ` Mahesh Bandewar (महेश बंडेवार)
2020-11-19  8:03                   ` Nicolas Dichtel
2020-11-20  3:55                     ` Mahesh Bandewar (महेश बंडेवार)
2020-11-20  4:56                       ` Jakub Kicinski
2020-12-01 20:24                         ` Mahesh Bandewar (महेश बंडेवार) [this message]
2020-12-02  2:38                           ` Jakub Kicinski
2020-12-02 20:53                             ` Mahesh Bandewar (महेश बंडेवार)
2020-11-17  4:50 ` kernel test robot
2020-11-17  4:50   ` kernel test robot

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=CAF2d9jgHOqsQFHE7tMwkgAQv2N24t3UWcMrK+ZnmfYNXHsPWuQ@mail.gmail.com \
    --to=maheshb@google.com \
    --cc=davem@davemloft.net \
    --cc=dsahern@gmail.com \
    --cc=edumazet@google.com \
    --cc=idosch@idosch.org \
    --cc=jianyang.kernel@gmail.com \
    --cc=jianyang@google.com \
    --cc=kuba@kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=nicolas.dichtel@6wind.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.