Use separate IFCAPs for LRO and TSO.
authorjan <jan@openbsd.org>
Tue, 16 May 2023 14:32:54 +0000 (14:32 +0000)
committerjan <jan@openbsd.org>
Tue, 16 May 2023 14:32:54 +0000 (14:32 +0000)
commitcd9af87cc16db4939c9de6c62c12d0dded9e6f8c
tree10f64dcea5e2dfd72b7e517db7abba0939e0108a
parent740eef27bf45559ae7b4214a89481cbdaf3d8a69
Use separate IFCAPs for LRO and TSO.

This diff introduces separate capabilities for TCP offloading.  We split this
into LRO (large receive offloading) and TSO (TCP segmentation offloading).
LRO can be turned on/off via tcprecvoffload option of ifconfig and is not
inherited to sub interfaces.

TSO is inherited by sub interfaces to signal this hardware offloading capability
to the network stack.

With tweaks from bluhm, claudio and dlg

ok bluhm, claudio
sbin/ifconfig/ifconfig.8
sbin/ifconfig/ifconfig.c
sys/dev/pci/if_ix.c
sys/net/if.c
sys/net/if.h
sys/net/if_aggr.c
sys/net/if_bridge.c
sys/net/if_tpmr.c
sys/net/if_veb.c
sys/net/if_vlan.c
sys/netinet/ip_carp.c