

SmartNIC — TSO、GSO、LRO、GRO 技术
source link: https://luckymrwang.github.io/2022/07/27/SmartNIC-%E2%80%94-TSO%E3%80%81GSO%E3%80%81LRO%E3%80%81GRO-%E6%8A%80%E6%9C%AF/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

TSO(TCP Segmentation Offload)
TSO(TCP Segmentation Offload): 是一种利用网卡对大数据包进行分片,从而减小CPU负荷的一种技术。
- TSO off 和 GSO off:
images
- TSO on:
images
GSO(Generic Segmentation Offload)
GSO(Generic Segmentation Offload): 是一种延缓分片技术。它比 TSO 更通用,原因在于它不需要硬件的支持就可以进行分片。
其过程是:首先查询网卡是否支持 TSO 功能,如果硬件支持 TSO 则使用网卡的硬件分片能力执行分片;如果网卡不支持 TSO 功能,则将分片的执行延缓到了将数据推送到网卡的前一刻执行。
- TSO off 和 GSO on:一个大的网络包直到进入网卡前的最后一步才进行分片。
images
LRO(Large Receive Offload)
LRO(Large Receive Offload):将网卡接收到的多个数据包合并成一个大的数据包,然后再传递给网络协议栈处理的技术。这样提高系统接收数据包的能力,减轻CPU负载。
- LRO off 和 GRO off:
images
- LRO on:数据一进入网卡立刻进行了合并。
images
GRO(Generic Receive Offload)
GRO(Generic Receive Offload):是 LRO 的软实现,GRO 的合并条件更加的严格和灵活。
- GRO on:
images
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK