]> git.proxmox.com Git - mirror_ovs.git/commit - NEWS
userspace: Add TCP Segmentation Offload support
authorFlavio Leitner <fbl@sysclose.org>
Fri, 17 Jan 2020 21:47:55 +0000 (18:47 -0300)
committerIan Stokes <ian.stokes@intel.com>
Fri, 17 Jan 2020 22:27:25 +0000 (22:27 +0000)
commit29cf9c1b3b9c4574df4f579c74c4e6d9ebb6d279
tree407b5c8d7bbe7b8b794ef73e0191f34b779cd47a
parentf2c7be2389b71d845c9109aaeb686a9fb3edb672
userspace: Add TCP Segmentation Offload support

Abbreviated as TSO, TCP Segmentation Offload is a feature which enables
the network stack to delegate the TCP segmentation to the NIC reducing
the per packet CPU overhead.

A guest using vhostuser interface with TSO enabled can send TCP packets
much bigger than the MTU, which saves CPU cycles normally used to break
the packets down to MTU size and to calculate checksums.

It also saves CPU cycles used to parse multiple packets/headers during
the packet processing inside virtual switch.

If the destination of the packet is another guest in the same host, then
the same big packet can be sent through a vhostuser interface skipping
the segmentation completely. However, if the destination is not local,
the NIC hardware is instructed to do the TCP segmentation and checksum
calculation.

It is recommended to check if NIC hardware supports TSO before enabling
the feature, which is off by default. For additional information please
check the tso.rst document.

Signed-off-by: Flavio Leitner <fbl@sysclose.org>
Tested-by: Ciara Loftus <ciara.loftus.intel.com>
Signed-off-by: Ian Stokes <ian.stokes@intel.com>
17 files changed:
Documentation/automake.mk
Documentation/topics/index.rst
Documentation/topics/userspace-tso.rst [new file with mode: 0644]
NEWS
lib/automake.mk
lib/conntrack.c
lib/dp-packet.h
lib/ipf.c
lib/netdev-dpdk.c
lib/netdev-linux-private.h
lib/netdev-linux.c
lib/netdev-provider.h
lib/netdev.c
lib/userspace-tso.c [new file with mode: 0644]
lib/userspace-tso.h [new file with mode: 0644]
vswitchd/bridge.c
vswitchd/vswitch.xml