uevent when moving nic between network namespaces?
Eric W. Biederman
ebiederm at xmission.com
Fri Oct 12 22:08:21 UTC 2012
Serge Hallyn <serge.hallyn at canonical.com> writes:
> Quoting Eric W. Biederman (ebiederm at xmission.com):
>> I am not currently working on a patch for this, but I will be happy to
>> review one. At a quick glance it looks like this could just be as
>> simple as calling kobject_uevent at the proper time, but testing and
>> reading through the relevant code paths is probably a good idea as there
>> always seems to be gotchas in that code.
>>
>> Eric
>
> This (the simple fix) works for me, actually.
>
> I do notice the ifdef shouldn't be needed, all the better.
Should we have a KOBJ_ADD in the new network namespace or is the
KOBJ_MOVE sufficient?
Eric
> From b436802aa8ae80f699b3d7bcf584d3e86af7355a Mon Sep 17 00:00:00 2001
> From: Serge Hallyn <serge.hallyn at canonical.com>
> Date: Fri, 12 Oct 2012 21:42:05 +0100
> Subject: [PATCH 1/1] dev_change_net_namespace: send a KOBJ_REMOVED to
> original netns
>
> Signed-off-by: Serge Hallyn <serge.hallyn at canonical.com>
> ---
> net/core/dev.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/net/core/dev.c b/net/core/dev.c
> index e2215ee..8062a5a 100644
> --- a/net/core/dev.c
> +++ b/net/core/dev.c
> @@ -6172,6 +6172,10 @@ int dev_change_net_namespace(struct net_device *dev, struct net *net, const char
> dev_uc_flush(dev);
> dev_mc_flush(dev);
>
> + /* Send a netdev-removed uevent to the old namespace */
> +#ifdef CONFIG_HOTPLUG
> + kobject_uevent(&dev->dev.kobj, KOBJ_REMOVE);
> +#endif
> /* Actually switch the network namespace */
> dev_net_set(dev, net);
More information about the Containers
mailing list