Merge branch 'ovs-L3-encap'
authorDavid S. Miller <davem@davemloft.net>
Sun, 13 Nov 2016 05:51:04 +0000 (00:51 -0500)
committerDavid S. Miller <davem@davemloft.net>
Sun, 13 Nov 2016 05:51:04 +0000 (00:51 -0500)
commitf0a404001204a23f94e1ca0cda8597ce80714f5e
tree4223e36f63fb87bb4bdc5767dffef1fcbadcf34f
parentc540594f864bb4645573c2c0a304919fabb3d7ea
parent217ac77a3c2524d999730b2a80b61fcc2d0f734a
Merge branch 'ovs-L3-encap'

Jiri Benc says:

====================
openvswitch: support for layer 3 encapsulated packets

At the core of this patch set is removing the assumption in Open vSwitch
datapath that all packets have Ethernet header.

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 Simon Horman, Lorand Jakab, Thomas Morin and
others. I kept Lorand's and Simon's s-o-b in the patches that are derived
from v11 to record their authorship of parts of the code.

Changes from v12 to v13:

* Addressed Pravin's feedback.
* Removed the GRE vport conversion patch; L3 GRE ports should be created by
  rtnetlink instead.

Main changes from v11 to v12:

* The patches were restructured and split differently for easier review.
* They were rebased and adjusted to the current net-next. Especially MPLS
  handling is different (and easier) thanks to the recent MPLS GSO rework.
* Several bugs were discovered and fixed. The most notable is fragment
  handling: header adjustment for ARPHRD_NONE devices on tx needs to be done
  after refragmentation, not before it. This required significant changes in
  the patchset. Another one is stricter checking of attributes (match on L2
  vs. L3 packet) at the kernel level.
* Instead of is_layer3 bool, a mac_proto field is used.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>