All of lore.kernel.org
 help / color / mirror / Atom feed
From: William Tu <u9012063@gmail.com>
To: netdev@vger.kernel.org
Cc: pshelar@ovn.org
Subject: [PATCHv6 net-next 0/3] net: erspan: add support for openvswitch
Date: Thu, 25 Jan 2018 13:20:08 -0800	[thread overview]
Message-ID: <1516915211-5869-1-git-send-email-u9012063@gmail.com> (raw)

The first patch refactors the 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 creates erspan.h in UAPI and move the definition
'struct erspan_metadata' to it for later openvswitch to use.  The final patch
introduces the new OVS tunnel key attribute, OVS_TUNNEL_KEY_ATTR_ERSPAN_OPTS,
to program both v1 and v2 erspan tunnel for openvswitch.

William Tu (3):
  net: erspan: use bitfield instead of mask and offset
  net: erspan: create erspan metadata uapi header
  openvswitch: add erspan version I and II support

 include/net/erspan.h             | 123 +++++++++++++++++++++++++--------------
 include/uapi/linux/erspan.h      |  52 +++++++++++++++++
 include/uapi/linux/openvswitch.h |   1 +
 net/ipv4/ip_gre.c                |  38 +++++-------
 net/ipv6/ip6_gre.c               |  36 +++++-------
 net/openvswitch/flow_netlink.c   |  52 ++++++++++++++++-
 6 files changed, 209 insertions(+), 93 deletions(-)
 create mode 100644 include/uapi/linux/erspan.h
---
v5->v6
  move field 'version' to the begining of the struct for easy expansion later.
  remove redundant erspan validation function
  create erspan.h in uapi

v4->v5
  rather than passing individual members of erspan_metadata,
  just pass the whole binary structure between kernel and userspace,
  suggested by Pravin.

v3->v4
  change from be32 to u32 for OVS_ERSPAN_OPT_IDX, suggested by Jiri Benc.

v2->v3
  revert the "openvswitch: Add erspan tunnel support." commit ceaa001a170e.
  redesign the OVS_TUNNEL_KEY_ATTR_ERSPAN_OPTS as nested attribute

v1->v2
  Fix compatibility issue suggested by Pravin.


-- 
2.7.4

             reply	other threads:[~2018-01-25 21:20 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-25 21:20 William Tu [this message]
2018-01-25 21:20 ` [PATCHv6 net-next 1/3] net: erspan: use bitfield instead of mask and offset William Tu
2018-01-26  2:35   ` Pravin Shelar
2018-01-25 21:20 ` [PATCHv6 net-next 2/3] net: erspan: create erspan metadata uapi header William Tu
2018-01-26  2:35   ` Pravin Shelar
2018-01-25 21:20 ` [PATCHv6 net-next 3/3] openvswitch: add erspan version I and II support William Tu
2018-01-26  2:35   ` Pravin Shelar
2018-01-26  2:40 ` [PATCHv6 net-next 0/3] net: erspan: add support for openvswitch David Miller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1516915211-5869-1-git-send-email-u9012063@gmail.com \
    --to=u9012063@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=pshelar@ovn.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.