NetBSD/src uGtl6LEsys/net if_bridge.c if.c, sys/rump/librump/rumpnet net_stub.c

   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
VersionDeltaFile
1.161+115-17sys/net/if_bridge.c
1.442+28-22sys/net/if.c
1.33+4-1sys/net/if_bridgevar.h
1.37+3-2sys/rump/librump/rumpnet/net_stub.c
+150-424 files

UnifiedSplitRaw