From: Pablo Neira Ayuso <pablo@netfilter.org>
To: netdev@vger.kernel.org
Cc: davem@davemloft.net, thomas.lendacky@amd.com,
f.fainelli@gmail.com, ariel.elior@cavium.com,
michael.chan@broadcom.com, santosh@chelsio.com,
madalin.bucur@nxp.com, yisen.zhuang@huawei.com,
salil.mehta@huawei.com, jeffrey.t.kirsher@intel.com,
tariqt@mellanox.com, saeedm@mellanox.com, jiri@mellanox.com,
idosch@mellanox.com, jakub.kicinski@netronome.com,
peppe.cavallaro@st.com, grygorii.strashko@ti.com, andrew@lunn.ch,
vivien.didelot@savoirfairelinux.com, alexandre.torgue@st.com,
joabreu@synopsys.com, linux-net-drivers@solarflare.com,
ganeshgr@chelsio.com, ogerlitz@mellanox.com,
Manish.Chopra@cavium.com, marcelo.leitner@gmail.com
Subject: [PATCH net-next,v4 00/12] add flow_rule infrastructure
Date: Thu, 29 Nov 2018 03:22:19 +0100 [thread overview]
Message-ID: <20181129022231.2740-1-pablo@netfilter.org> (raw)
Hi,
This patchset is another iteration to introduce an in-kernel intermediate
representation (IR) to express ACL hardware offloads [1] [2] [3].
Changes from previous version, based on feedback from:
* Marcelo Ricardo Leitner:
- Fix bisect-ability due to update in flow_rule_alloc().
- s/key/entry variable name for struct flow_action_entry in
tc_setup_flow_action().
- Rename qede_parse_flower_attr() to qede_parse_flow_attr().
Remove _tc_ infix in qede parser too.
* Jiri Pirko:
- Rename to ethtool_rx_flow_rule_create() and
ethtool_rx_flow_rule_destroy().
* Florian Fainelli:
- Use BIT() ethtool_rx_flow_rule_create() to .used_keys.
- Add support for FLOW_EXT and FLOW_MAC_EXT to
ethtool_rx_flow_rule_create().
- ethtool inverts masks from userspace before passing the
ethtool_rx_flow_rule blob to the kernel.
- Use post-increment in flow_action_for_each().
Other misc updates I made are:
- Use "flow_offload:" tag in patch subject whenever possible.
- Fix tos field in ethtool_rx_flow_rule_create().
- Remove unused flow_rule_match_basic() from bcm_sf2.
Thanks.
[1] https://lwn.net/Articles/766695/
[2] https://marc.info/?l=linux-netdev&m=154233253114506&w=2
[3] https://marc.info/?l=linux-netdev&m=154258780717036&w=2
Pablo Neira Ayuso (12):
flow_offload: add flow_rule and flow_match structures and use them
net/mlx5e: support for two independent packet edit actions
flow_offload: add flow action infrastructure
cls_api: add translator to flow_action representation
flow_offload: add statistics retrieval infrastructure and use it
drivers: net: use flow action infrastructure
cls_flower: don't expose TC actions to drivers anymore
flow_offload: add wake-up-on-lan and queue to flow_action
ethtool: add basic ethtool_rx_flow_spec to flow_rule structure translator
dsa: bcm_sf2: use flow_rule infrastructure
qede: place ethtool_rx_flow_spec after code after TC flower codebase
qede: use ethtool_rx_flow_rule() to remove duplicated parser code
drivers/net/dsa/bcm_sf2_cfp.c | 98 ++-
drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c | 252 +++----
.../net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c | 450 ++++++-------
drivers/net/ethernet/intel/i40e/i40e_main.c | 178 ++---
drivers/net/ethernet/intel/iavf/iavf_main.c | 195 +++---
drivers/net/ethernet/intel/igb/igb_main.c | 64 +-
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 743 ++++++++++-----------
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c | 2 +-
.../net/ethernet/mellanox/mlxsw/spectrum_flower.c | 258 ++++---
drivers/net/ethernet/netronome/nfp/flower/action.c | 196 +++---
drivers/net/ethernet/netronome/nfp/flower/match.c | 417 ++++++------
.../net/ethernet/netronome/nfp/flower/offload.c | 150 ++---
drivers/net/ethernet/qlogic/qede/qede_filter.c | 570 ++++++----------
include/linux/ethtool.h | 10 +
include/net/flow_offload.h | 199 ++++++
include/net/pkt_cls.h | 18 +-
net/core/Makefile | 2 +-
net/core/ethtool.c | 237 +++++++
net/core/flow_offload.c | 153 +++++
net/sched/cls_api.c | 116 ++++
net/sched/cls_flower.c | 69 +-
21 files changed, 2384 insertions(+), 1993 deletions(-)
create mode 100644 include/net/flow_offload.h
create mode 100644 net/core/flow_offload.c
--
2.11.0
next reply other threads:[~2018-11-29 13:26 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-29 2:22 Pablo Neira Ayuso [this message]
2018-11-29 2:22 ` [PATCH net-next,v4 01/12] flow_offload: add flow_rule and flow_match structures and use them Pablo Neira Ayuso
2018-11-29 2:22 ` [PATCH net-next,v4 02/12] net/mlx5e: support for two independent packet edit actions Pablo Neira Ayuso
2018-11-29 2:22 ` [PATCH net-next,v4 03/12] flow_offload: add flow action infrastructure Pablo Neira Ayuso
2018-11-29 2:22 ` [PATCH net-next,v4 04/12] cls_api: add translator to flow_action representation Pablo Neira Ayuso
2018-11-29 2:22 ` [PATCH net-next,v4 05/12] flow_offload: add statistics retrieval infrastructure and use it Pablo Neira Ayuso
2018-11-29 14:06 ` Venkat Duvvuru
2018-11-29 20:48 ` Jakub Kicinski
2018-12-01 9:55 ` Pablo Neira Ayuso
2018-11-29 2:22 ` [PATCH net-next,v4 06/12] drivers: net: use flow action infrastructure Pablo Neira Ayuso
2018-11-29 2:22 ` [PATCH net-next,v4 07/12] cls_flower: don't expose TC actions to drivers anymore Pablo Neira Ayuso
2018-11-29 2:22 ` [PATCH net-next,v4 08/12] flow_offload: add wake-up-on-lan and queue to flow_action Pablo Neira Ayuso
2018-11-29 2:22 ` [PATCH net-next,v4 09/12] ethtool: add basic ethtool_rx_flow_spec to flow_rule structure translator Pablo Neira Ayuso
2018-11-29 13:12 ` Michal Kubecek
[not found] ` <20181205131037.gznwi35tkz7pxmge@salvia>
2018-12-05 13:56 ` Michal Kubecek
2018-11-29 2:22 ` [PATCH net-next,v4 10/12] dsa: bcm_sf2: use flow_rule infrastructure Pablo Neira Ayuso
2018-11-29 2:22 ` [PATCH net-next,v4 11/12] qede: place ethtool_rx_flow_spec after code after TC flower codebase Pablo Neira Ayuso
2018-11-29 2:22 ` [PATCH net-next,v4 12/12] qede: use ethtool_rx_flow_rule() to remove duplicated parser code Pablo Neira Ayuso
2018-12-01 16:19 ` kbuild test robot
2018-11-29 15:47 ` [PATCH net-next,v4 00/12] add flow_rule infrastructure John Fastabend
2018-11-29 16:53 ` Jiri Pirko
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=20181129022231.2740-1-pablo@netfilter.org \
--to=pablo@netfilter.org \
--cc=Manish.Chopra@cavium.com \
--cc=alexandre.torgue@st.com \
--cc=andrew@lunn.ch \
--cc=ariel.elior@cavium.com \
--cc=davem@davemloft.net \
--cc=f.fainelli@gmail.com \
--cc=ganeshgr@chelsio.com \
--cc=grygorii.strashko@ti.com \
--cc=idosch@mellanox.com \
--cc=jakub.kicinski@netronome.com \
--cc=jeffrey.t.kirsher@intel.com \
--cc=jiri@mellanox.com \
--cc=joabreu@synopsys.com \
--cc=linux-net-drivers@solarflare.com \
--cc=madalin.bucur@nxp.com \
--cc=marcelo.leitner@gmail.com \
--cc=michael.chan@broadcom.com \
--cc=netdev@vger.kernel.org \
--cc=ogerlitz@mellanox.com \
--cc=peppe.cavallaro@st.com \
--cc=saeedm@mellanox.com \
--cc=salil.mehta@huawei.com \
--cc=santosh@chelsio.com \
--cc=tariqt@mellanox.com \
--cc=thomas.lendacky@amd.com \
--cc=vivien.didelot@savoirfairelinux.com \
--cc=yisen.zhuang@huawei.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).