From: ebiederm@xmission.com (Eric W. Biederman)
To: Eric Dumazet <eric.dumazet@gmail.com>
Cc: Pavel Emelyanov <xemul@parallels.com>,
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: Mon, 30 Jul 2012 05:33:05 -0700 [thread overview]
Message-ID: <87k3xlfmym.fsf@xmission.com> (raw)
In-Reply-To: <1343649062.21269.23.camel@edumazet-glaptop> (Eric Dumazet's message of "Mon, 30 Jul 2012 13:51:02 +0200")
Eric Dumazet <eric.dumazet@gmail.com> writes:
> On Mon, 2012-07-30 at 03:49 -0700, Eric W. Biederman wrote:
>> Pavel Emelyanov <xemul@parallels.com> writes:
>>
>> > Currently the RTM_NEWLINK results in -EOPNOTSUPP if the ifinfomsg->ifi_index
>> > is not zero. I propose to allow requesting ifindices on link creation. This
>> > is required by the checkpoint-restore to correctly restore a net namespace
>> > (i.e. -- a container). The question what to do with pre-created devices such
>> > as lo or sit fbdev is open, but for manually created devices this can be
>> > solved by this patch.
>>
>> Have you walked through and found the locations where we still rely on
>> ifindex being globally unique?
>>
>> Last time I was working in this area there were serveral places where
>> things were indexed by just the interface index.
>
> Really ? This would be very strange.
There at least were places that used oif or iff without being pernet
last time I was working on this.
It was never code that I understood particularly well so my memory of
what that code is, is unfortunately fuzzy.
> AFAIK dev_new_index() is always called, even in the
> dev_change_net_namespace() case if there is a conflict.
Except we never have a conflict because it takes an absurd number of
network devices to cause a 32bit counter to wrap.
> And dev_new_index() could use a pernet net->ifindex instead of a
> shared/static one.
Yes. I made all of the core changes, and held back on making
dev_new_index() use a pernet net->ifindex because of a couple of problem
cases.
It has been a long time and those cases might have been fixed.
I'm not seeing anything obvious in the network stack with a quick skim,
but before we start relying on the property that interface indicies are
not globally unique I expect an good hard look at the networking stack
to see if any of those cases where there were problems still exist.
Eric
next prev parent reply other threads:[~2012-07-30 12:33 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
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 [this message]
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=87k3xlfmym.fsf@xmission.com \
--to=ebiederm@xmission.com \
--cc=davem@davemloft.net \
--cc=eric.dumazet@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=xemul@parallels.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.