The first patch refactors the originally erspan header definitions. Originally, the erspan fields are defined as a group into a __be16 field, and use mask and offset to access each field. This is more costly due to calling ntohs/htons and error-prone. The first patch changes it to use bitfields. The second patch introduces the new OVS tunnel key attribute to program both v1 and v2 erspan tunnel for openvswitch.
William Tu (2): net: erspan: use bitfield instead of mask and offset openvswitch: add erspan version II support include/net/erspan.h | 127 ++++++++++++++++++++++++++++---------- include/uapi/linux/openvswitch.h | 13 +++- net/ipv4/ip_gre.c | 38 +++++------- net/ipv6/ip6_gre.c | 36 ++++------- net/openvswitch/flow_netlink.c | 129 ++++++++++++++++++++++++++++++++++++--- 5 files changed, 253 insertions(+), 90 deletions(-) -- v1->v2 Fix compatibility issue suggested by Pravin. -- 2.7.4