All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tonghao Zhang <xiangxia.m.yue@gmail.com>
To: David Miller <davem@davemloft.net>
Cc: Linux Kernel Network Developers <netdev@vger.kernel.org>
Subject: Re: [PATCH] net: vxlan: disallow removing to other namespace
Date: Tue, 21 May 2019 13:53:04 +0800	[thread overview]
Message-ID: <CAMDZJNWpv89beaNvVvycJ5YqwcKYiFNuP_gYKz_QmsQ2roiRGw@mail.gmail.com> (raw)
In-Reply-To: <20190520.195319.201742803310676769.davem@davemloft.net>

On Tue, May 21, 2019 at 7:53 AM David Miller <davem@davemloft.net> wrote:
>
> From: xiangxia.m.yue@gmail.com
> Date: Fri, 17 May 2019 19:42:23 -0700
>
> > From: Tonghao Zhang <xiangxia.m.yue@gmail.com>
> >
> > Don't allow to remove the vxlan device to other namesapce,
> > because we maintain the data of vxlan net device on original
> > net-namespace.
> >
> >     $ ip netns add ns100
> >     $ ip link add vxlan100 type vxlan dstport 4789 external
> >     $ ip link set dev vxlan100 netns ns100
> >     $ ip netns exec ns100 ip link add vxlan200 type vxlan dstport 4789 external
> >     $ ip netns exec ns100 ip link
> >     ...
> >     vxlan200: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
> >     vxlan100: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
> >
> > And we should create it on new net-namespace, so disallow removing it.
> >
> > Signed-off-by: Tonghao Zhang <xiangxia.m.yue@gmail.com>
>
> I don't understand this change at all.
>
> You keep saying "Remove" but I think you might mean simply "Move" because
> the NETNS_LOCAL flag prevents moving not removing.
Yes, should change "remove" to "move".

> And why is it bad to allow vxlan devices to be moved between network
> namespaces?  What problem would it cause and can you guarantee that
> you are not breaking an existing user?

The problem is that we create one vxlan netdevice(e.g dstport 4789 and
external), and move it to
one net-namespace, and then we hope create one again(dstport 4789 and
external) and move it to other net-namespace, but we can't create it.

$ ip netns add ns100
$ ip link add vxlan100 type vxlan dstport 4789 external
$ ip link set dev vxlan100 netns ns100
$ ip link add vxlan200 type vxlan dstport 4789 external
RTNETLINK answers: File exists

The better way is that we should create directly it in the
net-namespace. To avoid confuse user, disallow moving it to other
net-namespace.

> I'm not applying this as-is.

  reply	other threads:[~2019-05-21  5:53 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-18  2:42 [PATCH] net: vxlan: disallow removing to other namespace xiangxia.m.yue
2019-05-20 23:53 ` David Miller
2019-05-21  5:53   ` Tonghao Zhang [this message]
2019-05-21  9:28     ` Nicolas Dichtel
2019-05-21 11:08       ` Tonghao Zhang

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=CAMDZJNWpv89beaNvVvycJ5YqwcKYiFNuP_gYKz_QmsQ2roiRGw@mail.gmail.com \
    --to=xiangxia.m.yue@gmail.com \
    --cc=davem@davemloft.net \
    --cc=netdev@vger.kernel.org \
    /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.