diff mbox

bonding: Don't allow bond devices to change network namespaces.

Message ID 1390382190-1604-1-git-send-email-chenweilong@huawei.com
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

chenweilong Jan. 22, 2014, 9:16 a.m. UTC
From: Weilong Chen <chenweilong@huawei.com>

Like bridge, bonding as netdevice doesn't cross netns boundaries.

Bonding ports and bonding itself live in same netns.

Signed-off-by: Weilong Chen <chenweilong@huawei.com>
---
 drivers/net/bonding/bond_main.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Jiri Pirko Jan. 22, 2014, 9:41 a.m. UTC | #1
Wed, Jan 22, 2014 at 10:16:30AM CET, chenweilong@huawei.com wrote:
>From: Weilong Chen <chenweilong@huawei.com>
>
>Like bridge, bonding as netdevice doesn't cross netns boundaries.
>
>Bonding ports and bonding itself live in same netns.

I think should should be done for team as well. Openvs already
has this. I believe that for vlans it is ok to change ns, right?

>
>Signed-off-by: Weilong Chen <chenweilong@huawei.com>
>---
> drivers/net/bonding/bond_main.c | 3 +++
> 1 file changed, 3 insertions(+)
>
>diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
>index f00dd45..897d153 100644
>--- a/drivers/net/bonding/bond_main.c
>+++ b/drivers/net/bonding/bond_main.c
>@@ -3916,6 +3916,9 @@ void bond_setup(struct net_device *bond_dev)
> 	 * capable
> 	 */
> 
>+	/* Don't allow bond devices to change network namespaces. */
>+	bond_dev->features |= NETIF_F_NETNS_LOCAL;
>+
> 	bond_dev->hw_features = BOND_VLAN_FEATURES |
> 				NETIF_F_HW_VLAN_CTAG_TX |
> 				NETIF_F_HW_VLAN_CTAG_RX |
>-- 
>1.7.12
>
>
>--
>To unsubscribe from this list: send the line "unsubscribe netdev" in
>the body of a message to majordomo@vger.kernel.org
>More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
chenweilong Jan. 23, 2014, 2:41 a.m. UTC | #2
On 2014/1/22 17:41, Jiri Pirko wrote:
> Wed, Jan 22, 2014 at 10:16:30AM CET, chenweilong@huawei.com wrote:
>> From: Weilong Chen <chenweilong@huawei.com>
>>
>> Like bridge, bonding as netdevice doesn't cross netns boundaries.
>>
>> Bonding ports and bonding itself live in same netns.
> 
> I think should should be done for team as well. Openvs already
> has this. I believe that for vlans it is ok to change ns, right?
> 

OK, I'll write a new patch for 'team'.

For vlan dev, I think it's more complex.
1.Move vlan dev to a new ns, its real dev is in old ns, vlan
  can not work.
2.Move vlan real dev to a new ns, vlan dev is in old ns, vlan
  can not work.
If someone want to move vlan and its real dev to new ns, he must
do 1) and 2) or 2) and 1), both way are breaking the vlan down. I
think move real dev to new ns, and add a new vlan dev will be better.

Maybe I need write another patch for 'vlan'.

>>
>> Signed-off-by: Weilong Chen <chenweilong@huawei.com>
>> ---
>> drivers/net/bonding/bond_main.c | 3 +++
>> 1 file changed, 3 insertions(+)
>>
>> diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
>> index f00dd45..897d153 100644
>> --- a/drivers/net/bonding/bond_main.c
>> +++ b/drivers/net/bonding/bond_main.c
>> @@ -3916,6 +3916,9 @@ void bond_setup(struct net_device *bond_dev)
>> 	 * capable
>> 	 */
>>
>> +	/* Don't allow bond devices to change network namespaces. */
>> +	bond_dev->features |= NETIF_F_NETNS_LOCAL;
>> +
>> 	bond_dev->hw_features = BOND_VLAN_FEATURES |
>> 				NETIF_F_HW_VLAN_CTAG_TX |
>> 				NETIF_F_HW_VLAN_CTAG_RX |
>> -- 
>> 1.7.12
>>
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe netdev" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> 


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller Jan. 23, 2014, 5:59 a.m. UTC | #3
From: Chen Weilong <chenweilong@huawei.com>
Date: Wed, 22 Jan 2014 17:16:30 +0800

> From: Weilong Chen <chenweilong@huawei.com>
> 
> Like bridge, bonding as netdevice doesn't cross netns boundaries.
> 
> Bonding ports and bonding itself live in same netns.
> 
> Signed-off-by: Weilong Chen <chenweilong@huawei.com>

Applied.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index f00dd45..897d153 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -3916,6 +3916,9 @@  void bond_setup(struct net_device *bond_dev)
 	 * capable
 	 */
 
+	/* Don't allow bond devices to change network namespaces. */
+	bond_dev->features |= NETIF_F_NETNS_LOCAL;
+
 	bond_dev->hw_features = BOND_VLAN_FEATURES |
 				NETIF_F_HW_VLAN_CTAG_TX |
 				NETIF_F_HW_VLAN_CTAG_RX |