Module Name: src Committed By: rin Date: Wed Dec 12 01:46:47 UTC 2018
Modified Files: src/sys/net: if.c if_bridge.c if_bridgevar.h src/sys/rump/librump/rumpnet: net_stub.c Log Message: PR kern/53562 Handle TX offload in software when a packet is sent via bridge_output(). We can send it as is in the following exceptional cases: For unicast: (1) When the destination interface is the same as source. (2) When the destination supports all TX offload options specified in a packet. For multicast/broadcast: (3) When all the members of the bridge support the specified TX offload options. For (3), add sc_csum_flags_tx flag to bridge softc, which is logical AND b/w capabilities of TX offload options in member interface (ifp->if_csum_flags_tx). The flag is updated when a member is (i) added to or (ii) removed from a bridge, or (iii) if_csum_flags_tx flag of a member interface is manipulated via ifconfig(8). Turn on M_CSUM_TSOv[46] bit in ifp->if_csum_flags_tx flag when TSO[46] is enabled for that interface. OK msaitoh thorpej To generate a diff of this commit: cvs rdiff -u -r1.441 -r1.442 src/sys/net/if.c cvs rdiff -u -r1.160 -r1.161 src/sys/net/if_bridge.c cvs rdiff -u -r1.32 -r1.33 src/sys/net/if_bridgevar.h cvs rdiff -u -r1.36 -r1.37 src/sys/rump/librump/rumpnet/net_stub.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.