On Wed, Jul 6, 2016 at 10:59 AM, Simon Horman <simon.hor...@netronome.com> wrote: > Allow push and pop mpls actions to act on layer 3 packets by teaching > them not to access non-existent L2 headers of such packets. > > Signed-off-by: Simon Horman <simon.hor...@netronome.com> > --- > v11 > * group l2 code in pop_mpls() > > v10 > * Limit scope of hdr in {push,pop}_mpls() > > v9 > * New Patch > --- > include/uapi/linux/openvswitch.h | 2 ++ > net/openvswitch/actions.c | 24 +++++++++++++++--------- > 2 files changed, 17 insertions(+), 9 deletions(-) > > diff --git a/include/uapi/linux/openvswitch.h > b/include/uapi/linux/openvswitch.h > index d95a3018f6a1..5cde501433eb 100644 > --- a/include/uapi/linux/openvswitch.h > +++ b/include/uapi/linux/openvswitch.h > @@ -737,6 +737,8 @@ enum ovs_nat_attr { > * is no MPLS label stack, as determined by ethertype, no action is taken. > * @OVS_ACTION_ATTR_CT: Track the connection. Populate the conntrack-related > * entries in the flow key. > + * @OVS_ACTION_ATTR_PUSH_ETH: Push a new outermost Ethernet header onto the > * packet. > + * @OVS_ACTION_ATTR_POP_ETH: Pop the outermost Ethernet header off the > packet. > * > * Only a single header can be set with a single %OVS_ACTION_ATTR_SET. Not > all > * fields within a header are modifiable, e.g. the IPv4 protocol and fragment
This hunk is not related to this patch. > diff --git a/net/openvswitch/actions.c b/net/openvswitch/actions.c > index 1ecbd7715f6d..12e8a8942a42 100644 > --- a/net/openvswitch/actions.c > +++ b/net/openvswitch/actions.c ...