[ovs-dev] [PATCH v3 00/16] port Jiri Benc's L3 patchset to ovs

Yi Yang yi.y.yang at intel.com
Mon Feb 6 13:04:34 UTC 2017


This patch set just ports Jiri Benc's L3 8 support patches for layer 3 encapsulated packets from net-next to current ovs, it also includes Jiri Benc's 3 userspace patches, Jarno Rajahalme and Pravin Shelar's vlan fix patches for L3 patchset as well as my 3 patches which enabled vxlangpe in compat mode and dpdk netdev in both L2 and L3(layer3=true) mode.

This patchset has been verified on Ubuntu 14.04 x86_64 with Linux kernel 3.13.0-24-generic and 4.9.7, it also passed "make check"
and "sudo make check-kmod RECHECK=yes" in Fedora 23 with kernel
4.2.3-300.fc23.x86_64

This patch set is based on https://mail.openvswitch.org/pipermail/ovs-dev/2017-February/328492.html ([PATCH v2 0/4] Backport 802.1ad patches), please merge this one after merging [PATCH v2 0/4] Backport 802.1ad patches.

Yi Yang (16):
  datapath: use hard_header_len instead of hardcoded ETH_HLEN
  datapath: add mac_proto field to the flow key
  datapath: pass mac_proto to ovs_vport_send
  datapath: support MPLS push and pop for L3 packets
  datapath: add processing of L3 packets
  datapath: netlink: support L3 packets
  datapath: add Ethernet push and pop actions
  datapath: allow L3 netdev ports
  userspace: add support for pop_eth and push_eth actions
  userspace: add layer 3 flow and switching support
  userspace: add non-tap (l3) support to GRE vports
  datapath: Add a missing break statement
  datapath: upcall: Fix vlan handling.
  datapath: enable vxlangpe creation in compat mode
  userspace: enable layer3 option for vxlan-gpe
  userspace: add vxlan-gpe support for dpdk netdev

 acinclude.m4                                      |   1 +
 build-aux/extract-ofp-fields                      |   1 +
 datapath/actions.c                                | 111 ++++++++---
 datapath/datapath.c                               |  13 --
 datapath/flow.c                                   | 113 ++++++++---
 datapath/flow.h                                   |  22 +++
 datapath/flow_netlink.c                           | 177 +++++++++++------
 datapath/linux/compat/include/linux/openvswitch.h |  18 ++
 datapath/linux/compat/include/linux/skbuff.h      |   5 +
 datapath/linux/compat/skbuff-openvswitch.c        |   8 +-
 datapath/vport-netdev.c                           |   9 +-
 datapath/vport-vxlan.c                            |  15 ++
 datapath/vport.c                                  |  31 ++-
 datapath/vport.h                                  |   2 +-
 include/openvswitch/automake.mk                   |   3 +-
 include/openvswitch/flow.h                        |  23 ++-
 include/openvswitch/match.h                       |   1 +
 include/openvswitch/meta-flow.h                   |   9 +-
 include/openvswitch/ofp-print.h                   |   8 +-
 include/openvswitch/vxlangpe.h                    |  80 ++++++++
 lib/dp-packet.h                                   |  14 +-
 lib/dpif-netdev.c                                 |   6 +-
 lib/dpif-netlink.c                                |   4 +
 lib/dpif.c                                        |   9 +-
 lib/flow.c                                        | 132 +++++++++----
 lib/flow.h                                        |  11 ++
 lib/match.c                                       |  13 +-
 lib/meta-flow.c                                   |   2 +
 lib/netdev-bsd.c                                  |   2 +
 lib/netdev-dummy.c                                |   1 +
 lib/netdev-linux.c                                |   5 +-
 lib/netdev-native-tnl.c                           |  85 +++++++-
 lib/netdev-vport.c                                |  34 +++-
 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                                     |  35 ++++
 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                      |  29 ++-
 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                          |  38 +++-
 tests/tunnel.at                                   |  10 +-
 vswitchd/vswitch.xml                              |  13 ++
 55 files changed, 1166 insertions(+), 316 deletions(-)
 create mode 100644 include/openvswitch/vxlangpe.h

-- 
2.1.0



More information about the dev mailing list