diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2006-06-18 07:06:45 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2006-06-18 07:06:45 +0200 |
commit | 2c6cc0d8539f121c3c75aa3641c19b67e8723379 (patch) | |
tree | dbc8cc8a5b3fd83734dc6b80b614136e663a017e /net/bridge/br_device.c | |
parent | [NET]: Add NETIF_F_GEN_CSUM and NETIF_F_ALL_CSUM (diff) | |
download | linux-2c6cc0d8539f121c3c75aa3641c19b67e8723379.tar.xz linux-2c6cc0d8539f121c3c75aa3641c19b67e8723379.zip |
[BRIDGE]: Add support for NETIF_F_HW_CSUM devices
As it is the bridge will only ever declare NETIF_F_IP_CSUM even if all
its constituent devices support NETIF_F_HW_CSUM. This patch fixes
this by supporting the first one out of NETIF_F_NO_CSUM,
NETIF_F_HW_CSUM, and NETIF_F_IP_CSUM that is supported by all
constituent devices.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/bridge/br_device.c')
-rw-r--r-- | net/bridge/br_device.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/net/bridge/br_device.c b/net/bridge/br_device.c index 0c88a2ac32c1..2afdc7c0736c 100644 --- a/net/bridge/br_device.c +++ b/net/bridge/br_device.c @@ -145,9 +145,9 @@ static int br_set_tx_csum(struct net_device *dev, u32 data) struct net_bridge *br = netdev_priv(dev); if (data) - br->feature_mask |= NETIF_F_IP_CSUM; + br->feature_mask |= NETIF_F_NO_CSUM; else - br->feature_mask &= ~NETIF_F_IP_CSUM; + br->feature_mask &= ~NETIF_F_ALL_CSUM; br_features_recompute(br); return 0; @@ -185,5 +185,5 @@ void br_dev_setup(struct net_device *dev) dev->priv_flags = IFF_EBRIDGE; dev->features = NETIF_F_SG | NETIF_F_FRAGLIST - | NETIF_F_HIGHDMA | NETIF_F_TSO | NETIF_F_IP_CSUM; + | NETIF_F_HIGHDMA | NETIF_F_TSO | NETIF_F_NO_CSUM; } |