diff mbox

bridge: Set vlan_features to allow offloads on vlans.

Message ID 1369237590-29871-1-git-send-email-vyasevic@redhat.com
State Superseded, archived
Delegated to: David Miller
Headers show

Commit Message

Vlad Yasevich May 22, 2013, 3:46 p.m. UTC
When vlan device is configured on top of the brige, it does
not support any offload capabilities because the bridge
device does not initiliaze vlan_fatures.  Set vlan_fatures to
be equivalent to hw_fatures.

Signed-off-by: Vlad Yasevich <vyasevic@redhat.com>
---
 net/bridge/br_device.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

Comments

Ben Hutchings May 22, 2013, 4:12 p.m. UTC | #1
On Wed, 2013-05-22 at 11:46 -0400, Vlad Yasevich wrote:
> When vlan device is configured on top of the brige, it does
> not support any offload capabilities because the bridge
> device does not initiliaze vlan_fatures.  Set vlan_fatures to
> be equivalent to hw_fatures.
> 
> Signed-off-by: Vlad Yasevich <vyasevic@redhat.com>
> ---
>  net/bridge/br_device.c |    1 +
>  1 files changed, 1 insertions(+), 0 deletions(-)
> 
> diff --git a/net/bridge/br_device.c b/net/bridge/br_device.c
> index 9673128..126f2c2 100644
> --- a/net/bridge/br_device.c
> +++ b/net/bridge/br_device.c
> @@ -352,6 +352,7 @@ void br_dev_setup(struct net_device *dev)
>  	dev->hw_features = NETIF_F_SG | NETIF_F_FRAGLIST | NETIF_F_HIGHDMA |
>  			   NETIF_F_GSO_MASK | NETIF_F_HW_CSUM |
>  			   NETIF_F_HW_VLAN_CTAG_TX;
> +	dev->vlan_features = dev->hw_features;

I think you need to mask out NETIF_F_HW_VLAN_CTAG_TX (although maybe the
vlan driver should take care of that itself).

Ben.

>  	br->dev = dev;
>  	spin_lock_init(&br->lock);
Vlad Yasevich May 22, 2013, 4:39 p.m. UTC | #2
On 05/22/2013 12:12 PM, Ben Hutchings wrote:
> On Wed, 2013-05-22 at 11:46 -0400, Vlad Yasevich wrote:
>> When vlan device is configured on top of the brige, it does
>> not support any offload capabilities because the bridge
>> device does not initiliaze vlan_fatures.  Set vlan_fatures to
>> be equivalent to hw_fatures.
>>
>> Signed-off-by: Vlad Yasevich <vyasevic@redhat.com>
>> ---
>>   net/bridge/br_device.c |    1 +
>>   1 files changed, 1 insertions(+), 0 deletions(-)
>>
>> diff --git a/net/bridge/br_device.c b/net/bridge/br_device.c
>> index 9673128..126f2c2 100644
>> --- a/net/bridge/br_device.c
>> +++ b/net/bridge/br_device.c
>> @@ -352,6 +352,7 @@ void br_dev_setup(struct net_device *dev)
>>   	dev->hw_features = NETIF_F_SG | NETIF_F_FRAGLIST | NETIF_F_HIGHDMA |
>>   			   NETIF_F_GSO_MASK | NETIF_F_HW_CSUM |
>>   			   NETIF_F_HW_VLAN_CTAG_TX;
>> +	dev->vlan_features = dev->hw_features;
>
> I think you need to mask out NETIF_F_HW_VLAN_CTAG_TX (although maybe the
> vlan driver should take care of that itself).
>

Yep, you are right.  I guess it would confuse things a bit 802.1ad was
configured on top of the bridge.

I'll fix that.
-vlad

> Ben.
>
>>   	br->dev = dev;
>>   	spin_lock_init(&br->lock);
>

--
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/net/bridge/br_device.c b/net/bridge/br_device.c
index 9673128..126f2c2 100644
--- a/net/bridge/br_device.c
+++ b/net/bridge/br_device.c
@@ -352,6 +352,7 @@  void br_dev_setup(struct net_device *dev)
 	dev->hw_features = NETIF_F_SG | NETIF_F_FRAGLIST | NETIF_F_HIGHDMA |
 			   NETIF_F_GSO_MASK | NETIF_F_HW_CSUM |
 			   NETIF_F_HW_VLAN_CTAG_TX;
+	dev->vlan_features = dev->hw_features;
 
 	br->dev = dev;
 	spin_lock_init(&br->lock);