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 confusing. The first patch changes it to use bitfields. The second patch adds support 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 | 12 +++- net/ipv4/ip_gre.c | 38 +++++------- net/ipv6/ip6_gre.c | 36 ++++------- net/openvswitch/flow_netlink.c | 125 +++++++++++++++++++++++++++++++++++--- 5 files changed, 247 insertions(+), 91 deletions(-) -- 2.7.4