[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3b916ec7-3aca-13a7-7a48-7a7e8822e488@6wind.com>
Date: Fri, 26 Jan 2018 00:34:51 +0100
From: Nicolas Dichtel <nicolas.dichtel@...nd.com>
To: Jiri Benc <jbenc@...hat.com>
Cc: Christian Brauner <christianvanbrauner@...il.com>,
netdev@...r.kernel.org, ebiederm@...ssion.com, davem@...emloft.net,
dsahern@...il.com, fw@...len.de, daniel@...earbox.net,
lucien.xin@...il.com, mschiffer@...verse-factory.net,
jakub.kicinski@...ronome.com, vyasevich@...il.com,
linux-kernel@...r.kernel.org, w.bumiller@...xmox.com,
Christian Brauner <christian.brauner@...ntu.com>
Subject: Re: [PATCH net-next 0/3 V1] rtnetlink: enable IFLA_IF_NETNSID for
RTM_{DEL,SET}LINK
Le 25/01/2018 à 23:30, Jiri Benc a écrit :
> On Thu, 25 Jan 2018 15:20:59 +0100, Nicolas Dichtel wrote:
>> Hmm, I don't agree. For me, it would be the correct answer. If user has a socket
>> in ns_a and targets a RTM_GETLINK in ns_b, the answer he gets should be like if
>> it was done in ns_b.
>
> But that information would be useless for the caller. Why return a
> value that has no meaning for the caller and can not be used? More so
> when the kernel is aware of what the correct meaningful value is?
Why meaningful? The user knows that the answer is like if if was done in another
netns. It enables to have only one netlink socket instead of one per netns. But
the code using it will be the same.
I fear that with your approach, it will results to a lot of complexity in the
kernel.
>
>> This is already the case with messages received with NETLINK_LISTEN_ALL_NSID,
>> there is no reason to do something different.
>
> NETLINK_LISTEN_ALL_NSID is tough due to way it is implemented. But yes,
> it should translate the netnsids to be valid in the socket's netns.
> That's the only sane way for the listener.
A listener that uses this option should know the details about each netns it
listens. Thus, he has no problem to interpret the answer.
What is really missing for me, is a way to get a fd from an nsid. The user
should be able to call RTM_GETNSID with an fd and a nsid and the kernel performs
the needed operations so that the fd points to the corresponding netns.
Nicolas
Powered by blists - more mailing lists