svn commit: r196997 - stable/8/sys/net
Jack F Vogel
jfv at FreeBSD.org
Tue Sep 8 23:25:40 UTC 2009
Author: jfv
Date: Tue Sep 8 23:25:39 2009
New Revision: 196997
URL: http://svn.freebsd.org/changeset/base/196997
Log:
Make LRO turned off uncategorically for devices
attached to the bridge, rather than just in the case
when some device cannot do TSO. Customer tests have
shown that even when all devices can do TSO that LRO
will cause problems when bridging.
Approved by: re
Modified:
stable/8/sys/net/if_bridge.c
Modified: stable/8/sys/net/if_bridge.c
==============================================================================
--- stable/8/sys/net/if_bridge.c Tue Sep 8 21:50:34 2009 (r196996)
+++ stable/8/sys/net/if_bridge.c Tue Sep 8 23:25:39 2009 (r196997)
@@ -171,6 +171,11 @@ __FBSDID("$FreeBSD$");
#define BRIDGE_IFCAPS_MASK (IFCAP_TOE|IFCAP_TSO|IFCAP_TXCSUM)
/*
+ * List of capabilities to strip
+ */
+#define BRIDGE_IFCAPS_STRIP IFCAP_LRO
+
+/*
* Bridge interface list entry.
*/
struct bridge_iflist {
@@ -802,16 +807,10 @@ bridge_mutecaps(struct bridge_softc *sc)
LIST_FOREACH(bif, &sc->sc_iflist, bif_next) {
enabled = bif->bif_ifp->if_capenable;
+ enabled &= ~BRIDGE_IFCAPS_STRIP;
/* strip off mask bits and enable them again if allowed */
enabled &= ~BRIDGE_IFCAPS_MASK;
enabled |= mask;
- /*
- * Receive offload can only be enabled if all members also
- * support send offload.
- */
- if ((enabled & IFCAP_TSO) == 0)
- enabled &= ~IFCAP_LRO;
-
bridge_set_ifcap(sc, bif, enabled);
}
More information about the svn-src-all
mailing list