Openvswitch datapath recirculates packets for tunneling, i.e.
the incoming packets are encapsulated at first pass. Further actions are
applied on encapsulated packets on the second pass after recirculating.
The proposed patch compute and append the post tunnel actions at the time of
translation itself instead of recirculating at datapath. These actions are
solely depends on tunnel attributes so there is no need of datapath
recirculation.

By avoiding the recirculation at datapath, the patch offers upto 30%
performance improvement for VxLAN tunneling in our testing.
The action execution logic is also extended with new CLONE action to define
the packet cloning when the actions are combined. The lenght in the CLONE
action specifies the size of nested action set.

Signed-off-by: Sugesh Chandran <sugesh.chand...@intel.com>
Signed-off-by: Zoltán Balogh <zoltan.bal...@ericsson.com>
Co-authored-by: Zoltán Balogh <zoltan.bal...@ericsson.com>

v2
 - Rebased on latest master.
 - Updated newely added packet-aware test case to honor tunnel  combine actions.
 - Folded related patches into single patch based on Joe's comments.
 - Do the translation only once for tunnel combine instead of two.

Sugesh Chandran (4):
  xlate: Refactor translation of patch port output actions.
  xlate: Clear tunnel mask along with other fields while combine
    actions.
  tunneling: Calculate and update packet l4_offset in tunnel push.
  tunneling: Avoid datapath-recirc by combining recirc actions at xlate.

 lib/dpif-netdev.c                  |  18 +-
 lib/netdev-native-tnl.c            |   2 +
 ofproto/ofproto-dpif-xlate-cache.c |  14 +-
 ofproto/ofproto-dpif-xlate-cache.h |  15 +-
 ofproto/ofproto-dpif-xlate.c       | 568 ++++++++++++++++++++++++++++---------
 ofproto/ofproto-dpif-xlate.h       |   1 +
 ofproto/ofproto-dpif.c             |   3 +-
 tests/packet-type-aware.at         |  24 +-
 8 files changed, 468 insertions(+), 177 deletions(-)

-- 
2.7.4

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to