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

Simon Horman simon.horman at netronome.com
Wed Jul 6 17:59:50 UTC 2016


At the core of this patch set is removing the assumption in Open vSwitch
datapath that all packets have Ethernet header. Support for layer 3 GRE
tunnels is also added by this patchset.

The implementation relies on the presence of pop_eth and push_eth actions
in datapath flows to facilitate adding and removing Ethernet headers as
appropriate. The construction of such flows is left up to user-space.

This series is based on work by Lorand Jakab, Thomas Morin and others.
And it relies on recently merged work by Jiri Benc, much thanks to him for
his help.

This patch set is comprised of kernel patches against net-next.

To aid review it and the above dependency is available at:

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

There is a companion patch set for the Open vSwitch user-space code
which I will post separately to the dev at openvswitch.org mailing list as:

    "[PATCH v12 0/3] userspace: Support for layer 3 encapsulated packets"


Lorand Jakab (1):
  openvswitch: add layer 3 flow/port support

Simon Horman (5):
  net: introduce skb_transport_header_was_set()
  gre: unset mac header for non-TEB packets received by ipgre device
  openvswitch: set skb protocol and mac_len when receiving on internal
    device
  openvswitch: add support to push and pop mpls for layer3 packets
  openvswitch: use ipgre tunnel rather than gretap tunnel

 include/linux/skbuff.h               |   5 +
 include/net/gre.h                    |   4 +-
 include/uapi/linux/openvswitch.h     |  13 +++
 net/ipv4/ip_gre.c                    |  11 +-
 net/openvswitch/actions.c            |  69 ++++++++++--
 net/openvswitch/datapath.c           |  13 +--
 net/openvswitch/flow.c               |  65 +++++++----
 net/openvswitch/flow.h               |   4 +-
 net/openvswitch/flow_netlink.c       | 213 ++++++++++++++++++++++++-----------
 net/openvswitch/vport-geneve.c       |   2 +-
 net/openvswitch/vport-gre.c          |   4 +-
 net/openvswitch/vport-internal_dev.c |   9 ++
 net/openvswitch/vport-netdev.c       |  27 ++++-
 net/openvswitch/vport-netdev.h       |   2 +
 net/openvswitch/vport-vxlan.c        |   2 +-
 15 files changed, 321 insertions(+), 122 deletions(-)

-- 
2.7.0.rc3.207.g0ac5344




More information about the dev mailing list