]> git.proxmox.com Git - ovs.git/commit - lib/odp-execute.c
nsh: rework NSH netlink keys and actions
authorYi Yang <yi.y.yang@intel.com>
Sat, 6 Jan 2018 05:47:51 +0000 (13:47 +0800)
committerBen Pfaff <blp@ovn.org>
Mon, 8 Jan 2018 21:19:14 +0000 (13:19 -0800)
commitf59cb331c481d08f9a851c07cf31e9d826650485
tree4aacb2db30cd80a9a7f43f733fa29d49db0ffd65
parentd3b8483300532167ece1307252b441de24f07dfa
nsh: rework NSH netlink keys and actions

This patch changes OVS_KEY_ATTR_NSH
to nested attribute and adds three new NSH sub attribute keys:

    OVS_NSH_KEY_ATTR_BASE: for length-fixed NSH base header
    OVS_NSH_KEY_ATTR_MD1:  for length-fixed MD type 1 context
    OVS_NSH_KEY_ATTR_MD2:  for length-variable MD type 2 metadata

Its intention is to align to NSH kernel implementation.

NSH match fields, set and PUSH_NSH action all use the below
nested attribute format:

OVS_KEY_ATTR_NSH begin
    OVS_NSH_KEY_ATTR_BASE
    OVS_NSH_KEY_ATTR_MD1
OVS_KEY_ATTR_NSH end

or

OVS_KEY_ATTR_NSH begin
    OVS_NSH_KEY_ATTR_BASE
    OVS_NSH_KEY_ATTR_MD2
OVS_KEY_ATTR_NSH end

In addition, NSH encap and decap actions are renamed as push_nsh
and pop_nsh to meet action naming convention.

Signed-off-by: Yi Yang <yi.y.yang@intel.com>
Signed-off-by: Ben Pfaff <blp@ovn.org>
18 files changed:
datapath/linux/compat/include/linux/openvswitch.h
include/openvswitch/nsh.h
include/openvswitch/packets.h
lib/dpif-netdev.c
lib/dpif.c
lib/flow.c
lib/match.c
lib/meta-flow.c
lib/nx-match.c
lib/odp-execute.c
lib/odp-util.c
lib/odp-util.h
lib/packets.c
lib/packets.h
ofproto/ofproto-dpif-ipfix.c
ofproto/ofproto-dpif-sflow.c
ofproto/ofproto-dpif-xlate.c
tests/nsh.at