When bridging LRO is causing a problem, the believe
that it would work as long as all interfaces have TSO seems to be false, until the matter gets sorted out just disable LRO completely.
This commit is contained in:
parent
d166ef5286
commit
3de029efaf
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=196519
@ -170,6 +170,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.
|
||||
*/
|
||||
@ -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);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user