[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20190415145603.32491-1-simon.horman@netronome.com>
Date: Mon, 15 Apr 2019 16:55:52 +0200
From: Simon Horman <simon.horman@...ronome.com>
To: David Miller <davem@...emloft.net>,
Jakub Kicinski <jakub.kicinski@...ronome.com>
Cc: netdev@...r.kernel.org, oss-drivers@...ronome.com,
John Hurley <john.hurley@...ronome.com>,
Simon Horman <simon.horman@...ronome.com>
Subject: [PATCH net-next 00/11] Flower flow merging
John Hurley says,
These patches deal with 'implicit recirculation' on the NFP. This is a
firmware feature whereby a packet egresses to an 'internal' port meaning
that it will recirculate back to the header extract phase with the
'internal' port now marked as its ingress port. This internal port can
then be matched on by another rule. This process simulates how OvS
datapath outputs to an internal port. The FW traces the packet's
recirculation route and sends a 'merge hint' to the driver telling it
which flows it matched against. The driver can then decide if these flows
can be merged to a single rule and offloaded.
The patches deal with the following issues:
- assigning/freeing IDs to/from each of these new internal ports
- offloading rules that match on internal ports
- offloading neighbour table entries whose egress port is internal
- handling fallback traffic with an internal port as ingress
- using merge hints to create 'faster path' flows and tracking stats etc.
John Hurley (11):
nfp: flower: turn on recirc and merge hint support in firmware
nfp: flower: allow offloading of matches on 'internal' ports
nfp: allow fallback packets from non-reprs
nfp: flower: support fallback packets from internal ports
nfp: flower: allow tunnels to output to internal port
nfp: flower: get flows by host context
nfp: flower: handle merge hint messages
nfp: flower: validate merge hint flows
nfp: flower: generate merge flow rule
nfp: flower: support stats update for merge flows
nfp: flower: offload merge flows
drivers/net/ethernet/netronome/nfp/abm/main.c | 5 +-
drivers/net/ethernet/netronome/nfp/flower/cmsg.c | 55 +-
drivers/net/ethernet/netronome/nfp/flower/cmsg.h | 19 +
drivers/net/ethernet/netronome/nfp/flower/main.c | 149 ++++-
drivers/net/ethernet/netronome/nfp/flower/main.h | 69 +++
drivers/net/ethernet/netronome/nfp/flower/match.c | 9 +-
.../net/ethernet/netronome/nfp/flower/metadata.c | 117 +++-
.../net/ethernet/netronome/nfp/flower/offload.c | 606 ++++++++++++++++++++-
.../ethernet/netronome/nfp/flower/tunnel_conf.c | 11 +-
drivers/net/ethernet/netronome/nfp/nfp_app.h | 13 +-
.../net/ethernet/netronome/nfp/nfp_net_common.c | 16 +-
11 files changed, 1016 insertions(+), 53 deletions(-)
--
2.11.0
Powered by blists - more mailing lists