Subject: Re: more troubles with bridge in netns

From: Daniel Lezcano <[email-masked]>
Date: Mon, 14 Sep 2009 13:28:59 +0200

Atis Elsts wrote:
> On Tuesday 08 September 2009 11:40:44 Daniel Lezcano wrote:
>   
>> Atis Elsts wrote:
>>     
>>> Trying to add bridge interface from userspace program, after moving the
>>> program to a new network namespace, causes kernel to crash. I am using
>>> latest kernel version from git (2.6.31-rc9).
>>> The bug is easy to reproduce - just compile and run the attached C
>>> program.
>>>
>>> I see that bridge interface has NETIF_F_NETNS_LOCAL flag, but as I
>>> understand, this flag simply means that a device cannot be *moved* across
>>> network namespaces, not that it cannot be *created* in other namespaces.
>>>       
>> Yep, very easy to reproduce :/
>> The sysfs has not been disabled for the bridge. I will try to fix it as
>> soon as I can.
>>
>> Thanks
>>   -- Daniel
>>     
>
> Hello,
>
> please let me know when the sysfs patch for bridge is available. At the moment 
> I managed to get it to work by just commenting out all sysfs stuff for bridge 
> module. However, a new problem appears now. After running C program 
> (attached) that creates a bridge in network namespace and attaches an 
> interface to it, I got this message repeatedly:
>  kernel:[  466.758908] unregister_netdevice: waiting for lo to become free. 
> Usage count = 2
>
> It sems pretty unlikely that my kernel changes could have caused this?
>
> The unregister_netdevice message does not appear, however, if I uncomment this 
> line in child.c:
>     system("brctl setfd sim_br0 0");
>   

I was about to send a patch to disable the bridge per namespace as it 
seems it was never tested.
Can you send me your kernel patch ?

Thanks.
  -- Daniel