tunnels: Enable UDP checksum computation for Geneve and VXLAN.
authorJesse Gross <jesse@nicira.com>
Tue, 24 Mar 2015 14:42:47 +0000 (07:42 -0700)
committerJesse Gross <jesse@nicira.com>
Tue, 24 Mar 2015 19:59:02 +0000 (12:59 -0700)
commit4752cc0c26cf6ddfded8f2675b58b6cd3529662a
tree9df830b83d13fa5cf3417bd3e9689e1c0feb5b6e
parent80e3509d72acecc44d4661f0da5f50a716e23e18
tunnels: Enable UDP checksum computation for Geneve and VXLAN.

The kernel module can already support outer UDP checksums for
Geneve and VXLAN using the standard checksum flag in tunnel
metadata. This makes userspace aware of the capability so that
users can enable it on tunnel ports.

There is a complication in that there is no way for userspace to
probe or detect if the kernel does not support this capability
in order to warn the user. In this case, connectivity will appear
to function normally but packets will not be checksum protected.
This is mainly an issue for VXLAN which has existed in the kernel
for a some time without checksum support - while there are also
a few kernel versions that support Geneve only without checksums,
they are much less common.

There isn't a particularly good solution to the compatibility
issue without introducing a larger capabilities structure. However,
UDP checksums are likely to be used only rarely at this point in
time and the VXLAN spec (where the main problem lies) recommends
against them. Therefore, this is considered to be an advanced user
feature and we settle for just documenting the issue.

Signed-off-by: Jesse Gross <jesse@nicira.com>
Acked-by: Pritesh Kothari <pritesh.kothari@cisco.com>
FAQ.md
NEWS
lib/netdev-vport.c
vswitchd/vswitch.xml