Following series adds support for tunneling entirely in userspace. Even though this is targeted for DPDK based device, this should work on any platform which supports following:
1. dpif-netdev bridge is backed by netdev that should be able to reply to ARP requests. 2. OVS tunneling routing table is configured. To make tunneling work it need special configuration, There is README-Userspace-Tunneling file which has details. This is work in progress and I have done limited testing. Thanks for Jarno and Jesse for inputs. Pravin B Shelar (2): netdev-dpif: Add metadata to dpif-packet. openvswitch: Userspace tunneling. Makefile.am | 1 + README-Userspace-Tunneling | 83 ++++++++ datapath/linux/compat/include/linux/openvswitch.h | 10 + debian/openvswitch-common.docs | 1 + lib/automake.mk | 9 +- lib/dpif-netdev.c | 193 ++++++++++++++---- lib/dpif.c | 32 ++- lib/dpif.h | 4 + lib/netdev-bsd.c | 3 + lib/netdev-dpdk.c | 3 + lib/netdev-dummy.c | 3 + lib/netdev-linux.c | 3 + lib/netdev-provider.h | 9 + lib/netdev-vport.c | 186 +++++++++++++++-- lib/netdev.c | 34 ++++ lib/netdev.h | 7 + lib/odp-execute.c | 30 ++- lib/odp-execute.h | 3 +- lib/odp-util.c | 118 +++++++++++ lib/odp-util.h | 4 + lib/ofpbuf.h | 8 + lib/packet-dpif.c | 3 + lib/packet-dpif.h | 1 + lib/packets.c | 35 ++++ lib/packets.h | 9 +- lib/tnl-arp-cache.c | 214 +++++++++++++++++++ lib/tnl-arp-cache.h | 47 +++++ lib/tnl-ports.c | 203 ++++++++++++++++++ lib/tnl-ports.h | 49 +++++ lib/tnl-router.c | 237 ++++++++++++++++++++++ lib/tnl-router.h | 42 ++++ lib/vlog.c | 1 + lib/vxlan.h | 46 +++++ ofproto/ofproto-dpif-xlate.c | 177 +++++++++++++++- ofproto/ofproto-dpif-xlate.h | 3 +- ofproto/ofproto-dpif.c | 38 +++- ofproto/tunnel.c | 79 +++++++- ofproto/tunnel.h | 10 +- rhel/openvswitch.spec.in | 2 +- vswitchd/ovs-vswitchd.8.in | 4 + vswitchd/ovs-vswitchd.c | 6 + 41 files changed, 1840 insertions(+), 110 deletions(-) create mode 100644 README-Userspace-Tunneling create mode 100644 lib/tnl-arp-cache.c create mode 100644 lib/tnl-arp-cache.h create mode 100644 lib/tnl-ports.c create mode 100644 lib/tnl-ports.h create mode 100644 lib/tnl-router.c create mode 100644 lib/tnl-router.h create mode 100644 lib/vxlan.h -- 1.9.3 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev