From: John Hurley <john.hurley@netronome.com>
To: netdev@vger.kernel.org
Cc: davem@davemloft.net, simon.horman@netronome.com,
jakub.kicinski@netronome.com, oss-drivers@netronome.com,
John Hurley <john.hurley@netronome.com>
Subject: [PATCH net-next 00/10] Support tunnels over VLAN in NFP
Date: Sun, 4 Aug 2019 16:09:02 +0100 [thread overview]
Message-ID: <1564931351-1036-1-git-send-email-john.hurley@netronome.com> (raw)
This patchset deals with tunnel encap and decap when the end-point IP
address is on an internal port (for example and OvS VLAN port). Tunnel
encap without VLAN is already supported in the NFP driver. This patchset
extends that to include a push VLAN along with tunnel header push.
Patches 1-4 extend the flow_offload IR API to include actions that use
skbedit to set the ptype of an SKB and that send a packet to port ingress
from the act_mirred module. Such actions are used in flower rules that
forward tunnel packets to internal ports where they can be decapsulated.
OvS and its TC API is an example of a user-space app that produces such
rules.
Patch 5 modifies the encap offload code to allow the pushing of a VLAN
header after a tunnel header push.
Patches 6-10 deal with tunnel decap when the end-point is on an internal
port. They detect 'pre-tunnel rules' which do not deal with tunnels
themselves but, rather, forward packets to internal ports where they
can be decapped if required. Such rules are offloaded to a table in HW
along with an indication of whether packets need to be passed to this
table of not (based on their destination MAC address). Matching against
this table prior to decapsulation in HW allows the correct parsing and
handling of outer VLANs on tunnelled packets and the correct updating of
stats for said 'pre-tunnel' rules.
John Hurley (10):
net: tc_act: add skbedit_ptype helper functions
net: sched: add skbedit of ptype action to hardware IR
net: tc_act: add helpers to detect ingress mirred actions
net: sched: add ingress mirred action to hardware IR
nfp: flower: push vlan after tunnel in merge
nfp: flower: detect potential pre-tunnel rules
nfp: flower: verify pre-tunnel rules
nfp: flower: offload pre-tunnel rules
nfp: flower: remove offloaded MACs when reprs are applied to OvS
bridges
nfp: flower: encode mac indexes with pre-tunnel rule check
drivers/net/ethernet/netronome/nfp/flower/action.c | 40 ++++-
drivers/net/ethernet/netronome/nfp/flower/cmsg.h | 4 +-
drivers/net/ethernet/netronome/nfp/flower/main.c | 1 +
drivers/net/ethernet/netronome/nfp/flower/main.h | 19 ++
.../net/ethernet/netronome/nfp/flower/offload.c | 186 ++++++++++++++++++-
.../ethernet/netronome/nfp/flower/tunnel_conf.c | 200 +++++++++++++++++++--
include/net/flow_offload.h | 4 +
include/net/tc_act/tc_mirred.h | 18 ++
include/net/tc_act/tc_skbedit.h | 27 +++
net/sched/cls_api.c | 9 +
10 files changed, 476 insertions(+), 32 deletions(-)
--
2.7.4
next reply other threads:[~2019-08-04 15:10 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-04 15:09 John Hurley [this message]
2019-08-04 15:09 ` [PATCH net-next 01/10] net: tc_act: add skbedit_ptype helper functions John Hurley
2019-08-04 15:09 ` [PATCH net-next 02/10] net: sched: add skbedit of ptype action to hardware IR John Hurley
2019-08-04 15:09 ` [PATCH net-next 03/10] net: tc_act: add helpers to detect ingress mirred actions John Hurley
2019-08-04 15:09 ` [PATCH net-next 04/10] net: sched: add ingress mirred action to hardware IR John Hurley
2019-08-04 15:09 ` [PATCH net-next 05/10] nfp: flower: push vlan after tunnel in merge John Hurley
2019-08-04 15:09 ` [PATCH net-next 06/10] nfp: flower: detect potential pre-tunnel rules John Hurley
2019-08-04 15:09 ` [PATCH net-next 07/10] nfp: flower: verify " John Hurley
2019-08-04 15:09 ` [PATCH net-next 08/10] nfp: flower: offload " John Hurley
2019-08-04 15:09 ` [PATCH net-next 09/10] nfp: flower: remove offloaded MACs when reprs are applied to OvS bridges John Hurley
2019-08-06 21:24 ` [PATCH net-next 00/10] Support tunnels over VLAN in NFP 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=1564931351-1036-1-git-send-email-john.hurley@netronome.com \
--to=john.hurley@netronome.com \
--cc=davem@davemloft.net \
--cc=jakub.kicinski@netronome.com \
--cc=netdev@vger.kernel.org \
--cc=oss-drivers@netronome.com \
--cc=simon.horman@netronome.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).