From: Pavel Emelyanov <xemul@parallels.com>
To: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Linux Netdev List <netdev@vger.kernel.org>,
David Miller <davem@davemloft.net>
Subject: Re: [PATCH 1/2] net: Allow to create links with given ifindex
Date: Tue, 31 Jul 2012 17:30:17 +0400 [thread overview]
Message-ID: <5017DDE9.4020008@parallels.com> (raw)
In-Reply-To: <878ve0dtw3.fsf@xmission.com>
>> First, let's imagine that on host A the loopback device got registered as
>> first device, but on host B for some reason some other device got registered
>> first. In that case after migration from A to B the lo on B will have index
>> equals 2. And there's no any strict requirement that lo's per net operations
>> are registered first. Please, correct me if I'm wrong.
>
> Actually there is a hard requirement that the loopback device be the
> last device in a network namespace to be unregistered. We meet that
> requirement by registering the loopback device first
> "net/core/dev.c:net_dev_init()".
Hm... Indeed, and this is good news!
>> Next. In fact, lo is not the only problem. Look at the e.g. sit versus ipgre
>> fallback devices. Both gets created on netns creation and obtain whatever
>> ifindices are generated for them. Even if we make ifidex per netns chances
>> that sit gets registered _strictly_ before ipgre equal zero, since they are
>> both modules.
>
> True. However those fallback devices should no longer be needed,
> and even if they are I think you can delete and recreate them.
Good idea! I will look at that direction.
> Making lo the particularly interesting case.
Yup, provided we can manually recreate those auto-created devices this solves
the issue.
>> Just an idea -- is it worth moving the possibility to have ifindidces intersect
>> under CONFIG_<SOMETHING> (EXPERT/CHECKPOINT_RESTORE) to let wider audience check
>> the code in real-life?
>
> I think the best testing we are going to get diversity wise is to create
> a per netns counter into dev_new_index when net-next opens up.
>
> Having an ifindex that we can only set at netdevice creation time seems
> reasonable.
OK, thank you, Eric.
> Eric
> .
>
Thanks,
Pavel
next prev parent reply other threads:[~2012-07-31 13:30 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-30 4:34 [PATCH 1/2] net: Allow to create links with given ifindex Pavel Emelyanov
2012-07-30 4:36 ` [PATCH 2/2] veth: Allow to create peer link " Pavel Emelyanov
2012-07-30 10:49 ` [PATCH 1/2] net: Allow to create links " Eric W. Biederman
2012-07-30 10:56 ` Eric W. Biederman
2012-07-31 9:03 ` Pavel Emelyanov
2012-07-31 11:58 ` Eric W. Biederman
2012-07-31 13:30 ` Pavel Emelyanov [this message]
2012-08-02 10:28 ` Eric Dumazet
2012-08-02 11:09 ` Eric W. Biederman
2012-08-02 23:37 ` David Miller
2012-08-02 23:26 ` David Miller
2012-08-03 5:45 ` Eric Dumazet
2012-08-03 5:51 ` Eric Dumazet
2012-08-03 23:56 ` David Miller
2012-08-04 7:10 ` Eric Dumazet
2012-08-04 8:25 ` David Miller
2012-07-30 11:51 ` Eric Dumazet
2012-07-30 12:33 ` Eric W. Biederman
2012-07-31 9:06 ` Pavel Emelyanov
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=5017DDE9.4020008@parallels.com \
--to=xemul@parallels.com \
--cc=davem@davemloft.net \
--cc=ebiederm@xmission.com \
--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.