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.