Message ID | 1302655117.2880.33.camel@bwh-desktop |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
From: Ben Hutchings <bhutchings@solarflare.com> Date: Wed, 13 Apr 2011 01:38:37 +0100 > The feature flags NETIF_F_TSO and NETIF_F_TSO6 independently enable > TSO for IPv4 and IPv6 respectively. However, the test in > netdev_fix_features() and its predecessor functions was never updated > to check for NETIF_F_TSO6, possibly because it was originally proposed > that TSO for IPv6 would be dependent on both feature flags. > > Now that these feature flags can be changed independently from > user-space and we depend on netdev_fix_features() to fix invalid > feature combinations, it's important to disable them both if > scatter-gather is disabled. Also disable NETIF_F_TSO_ECN so > user-space sees all TSO features as disabled. > > Signed-off-by: Ben Hutchings <bhutchings@solarflare.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 --git a/net/core/dev.c b/net/core/dev.c index 956d3b0..6401fb5 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -5203,9 +5203,9 @@ u32 netdev_fix_features(struct net_device *dev, u32 features) } /* TSO requires that SG is present as well. */ - if ((features & NETIF_F_TSO) && !(features & NETIF_F_SG)) { - netdev_info(dev, "Dropping NETIF_F_TSO since no SG feature.\n"); - features &= ~NETIF_F_TSO; + if ((features & NETIF_F_ALL_TSO) && !(features & NETIF_F_SG)) { + netdev_info(dev, "Dropping TSO features since no SG feature.\n"); + features &= ~NETIF_F_ALL_TSO; } /* Software GSO depends on SG. */
The feature flags NETIF_F_TSO and NETIF_F_TSO6 independently enable TSO for IPv4 and IPv6 respectively. However, the test in netdev_fix_features() and its predecessor functions was never updated to check for NETIF_F_TSO6, possibly because it was originally proposed that TSO for IPv6 would be dependent on both feature flags. Now that these feature flags can be changed independently from user-space and we depend on netdev_fix_features() to fix invalid feature combinations, it's important to disable them both if scatter-gather is disabled. Also disable NETIF_F_TSO_ECN so user-space sees all TSO features as disabled. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> --- net/core/dev.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-)