• Yi Yang's avatar
    openvswitch: enable NSH support · b2d0f5d5
    Yi Yang authored
     - Fixed disputed check code: keep them in nsh_push and nsh_pop
       but also add them in __ovs_nla_copy_actions
     - Add csum recalculation for nsh_push, nsh_pop and set_nsh
       pointed out by Pravin
     - Move nsh key into the union with ipv4 and ipv6 and add
       check for nsh key in match_validate pointed out by Pravin
     - Add nsh check in validate_set and __ovs_nla_copy_actions
     - Check size in nsh_hdr_from_nlattr
     - Fixed four small issues pointed out By Jiri and Eric
     - Rename skb_push_nsh to nsh_push per Dave's comment
     - Rename skb_pop_nsh to nsh_pop per Dave's comment
     - Fix NSH header length check in set_nsh
     - Fix missing changes old comments pointed out
     - Fix new comments for v11
     - Fix the left three disputable comments for v9
       but not fixed in v10.
     - Change struct ovs_key_nsh to
           struct ovs_nsh_key_base base;
           __be32 context[NSH_MD1_CONTEXT_SIZE];
     - Fix new comments for v9
     - Fix build error reported by daily intel build
       because nsh module isn't selected by openvswitch
     - Rework nested value and mask for OVS_KEY_ATTR_NSH
     - Change pop_nsh to adapt to nsh kernel module
     - Fix many issues per comments from Jiri Benc
     - Remove NSH GSO patches in v6 because Jiri Benc
       reworked it as another patch series and they have
       been merged.
     - Change it to adapt to nsh kernel module added by NSH
       GSO patch series
     - Fix the rest comments for v4.
     - Add NSH GSO support for VxLAN-gpe + NSH and
       Eth + NSH.
     - Fix many comments by Jiri Benc and Eric Garver
       for v4.
     - Add new NSH match field ttl
     - Update NSH header to the latest format
       which will be final format and won't change
       per its author's confirmation.
     - Fix comments for v3.
     - Change OVS_KEY_ATTR_NSH to nested key to handle
       length-fixed attributes and length-variable
       attriubte more flexibly.
     - Remove struct ovs_action_push_nsh completely
     - Add code to handle nested attribute for SET_MASKED
     - Change PUSH_NSH to use the nested OVS_KEY_ATTR_NSH
       to transfer NSH header data.
     - Fix comments and coding style issues by Jiri and Eric
     - Change encap_nsh and decap_nsh to push_nsh and pop_nsh
     - Dynamically allocate struct ovs_action_push_nsh for
       length-variable metadata.
    OVS master and 2.8 branch has merged NSH userspace
    patch series, this patch is to enable NSH support
    in kernel data path in order that OVS can support
    NSH in compat mode by porting this.
    Signed-off-by: default avatarYi Yang <yi.y.yang@intel.com>
    Acked-by: default avatarJiri Benc <jbenc@redhat.com>
    Acked-by: default avatarEric Garver <e@erig.me>
    Acked-by: default avatarPravin Shelar <pshelar@ovn.org>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
nsh.h 12.3 KB