View | Details | Raw Unified | Return to bug 254596
Collapse All | Expand All

(-)/home/vixie/if_vlan.c (-7 / +15 lines)
Lines 1843-1856 Link Here
1843
	}
1843
	}
1844
1844
1845
	/*
1845
	/*
1846
	 * If the parent interface can do LRO and checksum offloading on
1846
	 * If the parent interface is not a bridge and can do LRO and
1847
	 * VLANs, then guess it may do LRO on VLANs.  False positive here
1847
	 * checksum offloading on VLANs, then guess it may do LRO on VLANs.
1848
	 * cost nothing, while false negative may lead to some confusions.
1848
	 * False positive here cost nothing, while false negative may lead
1849
	 * to some confusions. According to Wikipedia:
1850
	 *
1851
	 * "LRO should not operate on machines acting as routers, as it breaks
1852
	 * the end-to-end principle and can significantly impact performance."
1853
	 *
1854
	 * The same reasoning applies to machines acting as bridges.
1849
	 */
1855
	 */
1850
	if (p->if_capabilities & IFCAP_VLAN_HWCSUM)
1856
	if (ifp->if_bridge == NULL) {
1851
		cap |= p->if_capabilities & IFCAP_LRO;
1857
		if (p->if_capabilities & IFCAP_VLAN_HWCSUM)
1852
	if (p->if_capenable & IFCAP_VLAN_HWCSUM)
1858
			cap |= p->if_capabilities & IFCAP_LRO;
1853
		ena |= p->if_capenable & IFCAP_LRO;
1859
		if (p->if_capenable & IFCAP_VLAN_HWCSUM)
1860
			ena |= p->if_capenable & IFCAP_LRO;
1861
	}
1854
1862
1855
	/*
1863
	/*
1856
	 * If the parent interface can offload TCP connections over VLANs then
1864
	 * If the parent interface can offload TCP connections over VLANs then

Return to bug 254596