网卡功能卸载
将网络功能从网络协议栈卸载掉,放到网卡上实现。
由于网卡功能的提升,可以将部分功能放到网卡上实现,减轻CPU负载。
TSO
Tcp segmentation offload
将TCP分段功能放到网卡上实现。
RSC
Receive Side Coalescing
将TCP分段报文组合成一个报文。
LRO
Large Receive Offload
软件实现的RSC.
GSO
generalized segmentation offload
软件实现的TSO。
支持TCP、UDP、IPv4、IPv6。

c
# sysctl net.inet.tcp.gso =1
# sysctl net.inet.udp.gso =1
# sysctl net.gso.dev."ifname".enable_gso = 1
# sysctl net.gso.dev."ifname".max_brust = 65535
tcp_output()
# ip层不分片
ip_output()
ether_output()
#在ether_output里,gso_dispatch 替换 ifp->transmit
gso_dispatch()校验和卸载
TCP/UDP头部校验和
IP头部校验和
卸载功能查看
shell
ethtool -k eth0参考
Software segmentation offloading for FreeBSD by Stefano Garzarella