GSO就是尽可能的delay分片直至发送到网卡driver之前,此时kernel会检查网卡是否只是fragmentation offload,如果支持直接发送到网卡,如果不支持就进行分片后再发往网卡。
可以将TSO和UFO看做GSO的一种:
http://lxr.linux.no/#linux+v2.6.36/include/linux/skbuff.h#L236
在接收方向上与之对应的是GRO.
另外GSO对于虚拟化环境下网络性能提升的帮助也很大。
很荣幸,GSO和GRO都是herbert实现的,可以参考最初的patch.
转载于:https://blog.51cto.com/charlesxie/785144