GSO / TSO
Generic Segmentation Offload en TCP Segmentation Offload: functies in Linux en netwerkkaarten waarbij een grote verzendbuffer (64 KB) zo laat mogelijk in het pad in pakketten ter grootte van de MTU wordt gesplitst (NIC = TSO, kernel = GSO). Een enorme cpu-besparing vanaf 10GbE.
Zonder TSO bouwt de kernel telkens pakketten van 1500 bytes: 7 frames per verzonden 10 KB en 7× zoveel syscall-overhead. Met TSO stuurt de kernel een buffer van 64 KB plus offset en segmenteert de NIC in hardware. In Linux: ethtool -K eth0 tso on gso on. Het spiegelbeeld: LRO/GRO (Large/Generic Receive Offload) bundelt binnenkomende kleine frames tot grote brokken. Een moderne hot-path-optimalisatie. Klassiek foutzoekgeval: een virtuele NIC (virtio) met uitgeschakelde GSO waarvan de doorvoer instort. Standaard aanbevolen aan; alleen uit in randgevallen (zoals een firewall die elk pakket met DPI inspecteert).