[ovs-dev] [PATCH v1 0/4] openvswitch: DPDK Tunneling.

Pravin B Shelar pshelar at nicira.com
Thu Oct 16 18:38:02 UTC 2014


Following series adds support for tunneling entirely in userspace.
Even though this is targeted for DPDK based device, this should
work on any platform that support netdev datapath.

To make tunneling work it need special configuration, There is
README-native-tunneling file which has details.
I still need to add tests, I wanted to do it in parallel to review.

Thanks to Jarno and Jesse for inputs.

RFC-v1:
- Added GRE support.
- Added automatic route conf, no need to configure route for
  typical setup.
- Added support to set range of UDP source port.
- Fixed according to comments from Jarno.

Pravin B Shelar (4):
  route-table: get rid of name-table
  route-table: Use classifier to store routing table.
  route-table: extract gw information.
  openvswitch: Userspace tunneling.

 Makefile.am                                       |    1 +
 README-native-tunneling                           |   83 ++++
 datapath/linux/compat/include/linux/openvswitch.h |   13 +
 debian/openvswitch-common.docs                    |    1 +
 lib/automake.mk                                   |   10 +-
 lib/dpif-netdev.c                                 |  106 +++++-
 lib/dpif-netlink.c                                |    3 +-
 lib/dpif-provider.h                               |    5 +-
 lib/dpif.c                                        |   17 +-
 lib/dpif.h                                        |    4 +-
 lib/gre.h                                         |   53 +++
 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                                |  461 ++++++++++++++++++++-
 lib/netdev.c                                      |   34 ++
 lib/netdev.h                                      |    9 +
 lib/odp-execute.c                                 |    2 +
 lib/odp-util.c                                    |  245 +++++++++++
 lib/odp-util.h                                    |    2 +
 lib/ofpbuf.h                                      |    8 +
 lib/ovs-router.c                                  |  279 +++++++++++++
 lib/{route-table.h => ovs-router.h}               |   38 +-
 lib/packets.c                                     |   35 ++
 lib/packets.h                                     |    7 +-
 lib/route-table-bsd.c                             |    3 +-
 lib/route-table-stub.c                            |    3 +-
 lib/route-table.c                                 |  252 ++----------
 lib/route-table.h                                 |    1 -
 lib/tnl-arp-cache.c                               |  212 ++++++++++
 lib/{route-table.h => tnl-arp-cache.h}            |   42 ++-
 lib/tnl-ports.c                                   |  197 +++++++++
 lib/{route-table.h => tnl-ports.h}                |   44 ++-
 lib/vxlan.h                                       |   50 +++
 ofproto/ofproto-dpif-sflow.c                      |    5 +-
 ofproto/ofproto-dpif-xlate.c                      |  148 +++++++-
 ofproto/ofproto-dpif.c                            |  101 ++++-
 ofproto/ofproto-dpif.h                            |    1 +
 ofproto/tunnel.c                                  |   82 ++++-
 ofproto/tunnel.h                                  |   11 +-
 rhel/openvswitch.spec.in                          |    2 +-
 tests/ofproto-macros.at                           |    7 +
 tests/tunnel.at                                   |    8 +
 45 files changed, 2274 insertions(+), 332 deletions(-)
 create mode 100644 README-native-tunneling
 create mode 100644 lib/gre.h
 create mode 100644 lib/ovs-router.c
 copy lib/{route-table.h => ovs-router.h} (53%)
 create mode 100644 lib/tnl-arp-cache.c
 copy lib/{route-table.h => tnl-arp-cache.h} (52%)
 create mode 100644 lib/tnl-ports.c
 copy lib/{route-table.h => tnl-ports.h} (50%)
 create mode 100644 lib/vxlan.h




More information about the dev mailing list