This is a port of the kernel tunneling logic to userspace, taking advantage of the outer header information in the flow. It logically fits in after Kyle's tunnel kernel patch and before Justin's single datapath work. I expect that the final patch in this series will be replaced by Justin's better indirection layer, along with some other integration work.
There are a few TODO items noted at the top of tunne.c, mostly around integration with ofproto-dpif and flags from the kernel. Review is welcome but I'm not planning on applying this until the other components are ready, so this is really just informational. Jesse Gross (5): flow: Extend struct flow to contain tunnel outer header. odp-util: Enable communicating outer tunnel to/from the kernel. netdev-dummy: Add tunnel variation. tunnel: Userspace implementation of tunnel manipulation. ofproto-dpif: Basic hooks for rewriting tunnel packets. NEWS | 4 + lib/automake.mk | 2 + lib/dpif-linux.c | 2 +- lib/dpif-netdev.c | 4 +- lib/dpif-provider.h | 2 +- lib/dpif.c | 2 +- lib/flow.c | 55 +++- lib/flow.h | 19 +- lib/learning-switch.c | 7 +- lib/match.c | 15 +- lib/meta-flow.c | 8 +- lib/netdev-dummy.c | 88 ++++++ lib/nx-match.c | 3 +- lib/odp-util.c | 75 ++++- lib/ofp-print.c | 2 +- lib/ofp-util.c | 6 +- lib/tunnel.c | 739 ++++++++++++++++++++++++++++++++++++++++++++ lib/tunnel.h | 36 +++ ofproto/ofproto-dpif.c | 54 +++- ofproto/ofproto-provider.h | 4 +- ofproto/ofproto.c | 4 +- tests/automake.mk | 1 + tests/odp.at | 12 +- tests/ofp-print.at | 6 +- tests/ofproto-dpif.at | 58 ++-- tests/ofproto.at | 12 +- tests/test-classifier.c | 40 +-- tests/test-flows.c | 2 +- tests/testsuite.at | 1 + tests/tunnel.at | 112 +++++++ vswitchd/vswitch.xml | 14 +- 31 files changed, 1252 insertions(+), 137 deletions(-) create mode 100644 lib/tunnel.c create mode 100644 lib/tunnel.h create mode 100644 tests/tunnel.at -- 1.7.9.5 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev