This series implements support for layer 3 encapsulated packets.  At the
core of this change is removing the assumption that all packets/flows have
Ethernet header. Support for layer 3 packets in GRE tunnels is also added
by this patchset.

The implementation automatically adds appropriate pop_eth and push_eth
actions to datapath flows. This may change in the future if OpenFlow
support for these actions is added.

This series is based on work by Lorand Jakab, Thomas Morin and others.

Unlike Lorand's work this series does not update the kernel datapath
nor the LISP vport implementation in the version of the kernel datapath
in the OVS tree. Rather it focuses only on userspace including
the user-space datapath, and provides layer 3 GRE support. It should,
however, be in keeping with his goal of providing a clean path for
porting the LISP datapath support to the mainline kernel for inclusion
there.

To aid review this series is available at:

    tree: https://github.com//horms/openvswitch
    branch: me/l3-vpn
    tag: l3-vpn-v11

I have prepared a separate series for the kernel datapath against the
net-next tree.  I plan to post it in conjunction with this patchset as:

    "[PATCH v11 net-next 0/6] openvswitch: support for layer 3 encapsulated 
packets"

It may be found on github:

    tree: https://github.com//horms/linux
    branch: l3-vpn
    tag: l3-vpn-v12

Lorand Jakab (2):
  userspace: add support for pop_eth and push_eth actions
  userspace: add layer 3 flow and switching support

Simon Horman (1):
  userspace: add non-tap (l3) support to GRE vports

 build-aux/extract-ofp-fields                      |   1 +
 datapath/linux/compat/include/linux/openvswitch.h |  17 ++
 include/openvswitch/flow.h                        |  23 ++-
 include/openvswitch/match.h                       |   1 +
 include/openvswitch/meta-flow.h                   |   9 +-
 include/openvswitch/ofp-print.h                   |   8 +-
 lib/dp-packet.h                                   |  14 +-
 lib/dpif-netdev.c                                 |   6 +-
 lib/dpif-netlink.c                                |   4 +
 lib/dpif.c                                        |   9 +-
 lib/flow.c                                        | 122 ++++++++----
 lib/flow.h                                        |   2 +
 lib/match.c                                       |  13 +-
 lib/meta-flow.c                                   |  10 +
 lib/netdev-bsd.c                                  |   2 +
 lib/netdev-dummy.c                                |   1 +
 lib/netdev-linux.c                                |   5 +-
 lib/netdev-native-tnl.c                           |  26 ++-
 lib/netdev-vport.c                                |  22 ++-
 lib/netdev.h                                      |   1 +
 lib/nx-match.c                                    |   2 +-
 lib/odp-execute.c                                 |  20 ++
 lib/odp-util.c                                    | 227 ++++++++++++++++++----
 lib/odp-util.h                                    |   4 +-
 lib/ofp-print.c                                   |  27 ++-
 lib/ofp-util.c                                    |   2 +-
 lib/packets.c                                     |  33 ++++
 lib/packets.h                                     |   6 +
 lib/tnl-ports.c                                   |  49 +++--
 lib/tnl-ports.h                                   |   3 +-
 ofproto/ofproto-dpif-rid.h                        |   2 +-
 ofproto/ofproto-dpif-sflow.c                      |   8 +
 ofproto/ofproto-dpif-xlate.c                      |  30 ++-
 ofproto/ofproto-dpif-xlate.h                      |   2 +-
 ofproto/ofproto-dpif.c                            |   4 +-
 ofproto/tunnel.c                                  |   4 +-
 tests/ofproto-dpif.at                             |   6 +-
 tests/tunnel-push-pop-ipv6.at                     |  22 ++-
 tests/tunnel-push-pop.at                          |  36 +++-
 tests/tunnel.at                                   |  10 +-
 vswitchd/vswitch.xml                              |  13 ++
 41 files changed, 635 insertions(+), 171 deletions(-)

-- 
2.7.0.rc3.207.g0ac5344

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to