tunneling: Userspace datapath support for Geneve options.
authorJesse Gross <jesse@nicira.com>
Mon, 22 Jun 2015 21:23:37 +0000 (14:23 -0700)
committerJesse Gross <jesse@nicira.com>
Fri, 26 Jun 2015 21:18:07 +0000 (14:18 -0700)
commit5bb08b0ef605a9b164399bd74a194ae1b921c3ea
treedc63682400cab6eb2fd50cc563d88aeb12a60ee6
parentdaab0ae6bb558411f24cee6a7bb32599a5f9e363
tunneling: Userspace datapath support for Geneve options.

Currently the userspace datapath only supports Geneve in a
basic mode - without options - since the rest of userspace
previously didn't support options either. This enables the
userspace datapath to send and receive options as well.

The receive path for extracting the tunnel options isn't entirely
optimal because it does a lookup on the options on a per-packet
basis, rather than per-flow like the kernel does. This is not
as straightforward to do in the userspace datapath since there
is no translation step between packet formats used in packet vs.
flow lookup. This can be optimized in the future and in the
meantime option support is still useful for testing and simulation.

Signed-off-by: Jesse Gross <jesse@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
datapath/linux/compat/include/linux/openvswitch.h
lib/netdev-vport.c
lib/odp-util.c
lib/packets.h
lib/tun-metadata.c
lib/tun-metadata.h
tests/odp.at
tests/tunnel-push-pop.at