I just realized that we missed to implement some of Ben's comments on patch
series v1.
Will fix those and resubmit v3 as soon as possible.
Regards, Jan
> -Original Message-
> From: Zoltán Balogh
> Sent: Monday, 03 April, 2017 18:28
> To: 'd...@openvswitch.org'
> Cc: Jan Scheurich ; Georg Schmuecking
>
> Subject: [PATCH v2 0/8] userspace: Support for L3 tunneling
>
> From: Jan Scheurich
>
> This patch set is part of an initiative to deal with non-Ethernet packets in
> OVS for advanced use cases like L3 tunneling or NSH. The
> initiative is centering on the new OpenFlow concepts of "Packet type-aware
> pipeline" (PTAP) and "Generic encap/decap actions" (EXT-
> 382). The overall design is documented in
> https://docs.google.com/document/d/1oWMYUH8sjZJzWa72o2q9kU0N6pNE-rwZcLH3-kbbDR8
>
> This patch series implements the user-space parts of the support for L3
> tunnels connected to the legacy Ethernet-only pipeline in OVS.
>
> In large parts it is an adaptation of the earlier work on L3 tunneling by
> Lorand Jakab, Simon Horman, Jiri Benc and Yi Yang, adapted to the
> new design for packet type aware pipelines as prototyped by Jean Tourrilhes.
>
> It supersedes user-space patches 9-11 of the most recent patch set submitted
> by Yi Yang (https://mail.openvswitch.org/pipermail/ovs-
> dev/2016-December/326865.html). The remaining user-space parts of that series
> (VXLAN-GPE) will be superseded by further patches in
> the context of this initiative.
>
> Key changes are the introduction of explicit packet_type fields in the
> dp_packet and flow structs, as well as a simpler handling of L3
> tunnels limited to the ofproto layer.
>
>userspace: Add packet_type in dp_packet and flow
>userspace: Support for push_eth and pop_eth actions
>userspace: Switching of L3 packets in L2 pipeline
>ofproto-dpif-upcall: Intialize dump-seq of new flow to zero
>userspace: L3 tunnel support for GRE and LISP
>dpif-netlink: Don't send PACKET_TYPE to kernel
>ofproto-dpif-xlate: refactor compose_output_action__
>userspace: add vxlan gpe support to vport
>
> For native L3 tunneling with the user-space datapath these patches are
> complete. To apply L3 tunneling to the kernel datapath, they are
> dependent on the following other contributions:
>
> .[PATCH net-next v13 0/8] openvswitch: support for layer 3 encapsulated
> packets
> https://mail.openvswitch.org/pipermail/ovs-dev/2016-November/324943.html
> The net-next patch has been accepted
> .[RFC PATCH v4 0/6] create tunnel devices using rtnetlink interface
> https://mail.openvswitch.org/pipermail/ovs-dev/2017-January/327749.html
> .Another user-space patch to send the "layer3" option down via rtnetlink
> interface
> .Backports of the kernel datapath patches to the OVS tree module:
> Patches 01-08 of patch series [PATCH v2 00/17] port Jiri Benc's L3 patchset
> to ovs
> https://mail.openvswitch.org/pipermail/ovs-dev/2016-December/326865.html
> .A compatibility mechanism to send down "layer3" option to the backported
> kernel module to support older kernels.
>
> To ease the progress with the implementation of the subsequent user-space
> patches for the PTAP, EXT-382 and NSH and avoid the pain of
> frequent re-basing of these large patch series, we would like to request
> exemption for merging the present patch series before the kernel
> datapath pieces are all in place.
>
> build-aux/extract-ofp-fields | 1 +
> datapath/linux/compat/include/linux/openvswitch.h | 9 +-
> include/openflow/openflow-common.h| 9 +
> include/openvswitch/automake.mk | 4 +-
> include/openvswitch/flow.h| 16 +-
> include/openvswitch/match.h | 1 +
> include/openvswitch/meta-flow.h | 15 +-
> include/openvswitch/ofp-print.h | 9 +-
> include/openvswitch/vxlangpe.h| 76
> lib/cfm.c | 2 +-
> lib/conntrack.c | 2 +-
> lib/dp-packet.c | 3 +
> lib/dp-packet.h | 25 +-
> lib/dpif-netdev.c | 50 ++-
> lib/dpif-netlink.c| 56 ++-
> lib/dpif.c| 6 +-
> lib/flow.c| 112 +++---
> lib/flow.h| 11 +-
> lib/match.c | 33 +-
> lib/meta-flow.c | 2 +
> lib/netdev-bsd.c | 1 +
> lib/netdev-dummy.c| 5 +
> lib/netdev-linux.c| 4 +-
> lib/netdev-native-tnl.c