All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/12 net-next,v7] add flow_rule infrastructure
@ 2019-02-02 11:50 ` Pablo Neira Ayuso
  0 siblings, 0 replies; 39+ messages in thread
From: Pablo Neira Ayuso @ 2019-02-02 11:50 UTC (permalink / raw)
  To: netdev
  Cc: davem, thomas.lendacky, f.fainelli, ariel.elior, michael.chan,
	santosh, madalin.bucur, yisen.zhuang, salil.mehta,
	jeffrey.t.kirsher, tariqt, saeedm, jiri, idosch, jakub.kicinski,
	peppe.cavallaro, grygorii.strashko, andrew, vivien.didelot,
	alexandre.torgue, joabreu, linux-net-drivers, ganeshgr, ogerlitz,
	Manish.Chopra, marcelo.leitner, mkubecek, venkatkumar.duvvuru,
	julia.lawall, john.fastabend, netfilter-devel, cphealy

Hi,

This patchset, as is, allows us to reuse the driver codebase to
configure ACL hardware offloads for the ethtool_rxnfc and the TC flower
interfaces. A few clients for this infrastructure are presented, such as
the bcm_sf2 and the qede drivers, for reference. Moreover all of the
existing drivers in the tree are converted to use this infrastructure.

This patchset is re-using the existing flow dissector infrastructure
that was introduced by Jiri Pirko et al. so the amount of abstractions
that this patchset adds are minimal. Well, just a few wrapper structures
for the selector side of the rules. And, in order to express actions,
this patchset exposes an action API that is based on the existing TC
action infrastructure and what existing drivers already support on that
front.

v7: This patchset is a rebase on top of the net-next tree, after
    addressing questions and feedback from driver developers in the
    last batch.

Please, apply. Thanks!

P.S: I would like to thank driver developers for their fruitful
     cooperation and feedback, which has been very useful to shape
     the layout of this incremental work on top of the existing
     infrastructure. Thanks!

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 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                      | 102 +--
 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 +-
 .../net/ethernet/mellanox/mlx5/core/en/tc_tun.c    |  68 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c    | 698 ++++++++++-----------
 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 | 198 +++---
 drivers/net/ethernet/netronome/nfp/flower/match.c  | 417 ++++++------
 .../net/ethernet/netronome/nfp/flower/offload.c    | 154 ++---
 drivers/net/ethernet/qlogic/qede/qede_filter.c     | 572 +++++++----------
 include/linux/ethtool.h                            |  15 +
 include/net/flow_offload.h                         | 203 ++++++
 include/net/pkt_cls.h                              |  16 +-
 net/core/Makefile                                  |   2 +-
 net/core/ethtool.c                                 | 241 +++++++
 net/core/flow_offload.c                            | 153 +++++
 net/sched/cls_api.c                                | 116 ++++
 net/sched/cls_flower.c                             |  71 ++-
 22 files changed, 2416 insertions(+), 2009 deletions(-)
 create mode 100644 include/net/flow_offload.h
 create mode 100644 net/core/flow_offload.c

-- 
2.11.0


^ permalink raw reply	[flat|nested] 39+ messages in thread

end of thread, other threads:[~2019-02-06 20:45 UTC | newest]

Thread overview: 39+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-02 11:50 [PATCH 00/12 net-next,v7] add flow_rule infrastructure Pablo Neira Ayuso
2019-02-02 11:50 ` Pablo Neira Ayuso
2019-02-02 11:50 ` [PATCH 01/12 net-next,v7] flow_offload: add flow_rule and flow_match structures and use them Pablo Neira Ayuso
2019-02-02 11:50   ` Pablo Neira Ayuso
2019-02-02 15:19   ` Jiri Pirko
2019-02-02 15:19     ` Jiri Pirko
2019-02-02 11:50 ` [PATCH 02/12 net-next,v7] net/mlx5e: support for two independent packet edit actions Pablo Neira Ayuso
2019-02-02 11:50   ` Pablo Neira Ayuso
2019-02-02 15:09   ` Tonghao Zhang
2019-02-02 15:09     ` Tonghao Zhang
2019-02-02 21:40     ` Or Gerlitz
2019-02-02 21:40       ` Or Gerlitz
2019-02-02 21:43     ` Or Gerlitz
2019-02-02 21:43       ` Or Gerlitz
2019-02-02 11:50 ` [PATCH 03/12 net-next,v7] flow_offload: add flow action infrastructure Pablo Neira Ayuso
2019-02-02 11:50   ` Pablo Neira Ayuso
2019-02-02 11:50 ` [PATCH 04/12 net-next,v7] cls_api: add translator to flow_action representation Pablo Neira Ayuso
2019-02-02 11:50   ` Pablo Neira Ayuso
2019-02-02 11:50 ` [PATCH 05/12 net-next,v7] flow_offload: add statistics retrieval infrastructure and use it Pablo Neira Ayuso
2019-02-02 11:50   ` Pablo Neira Ayuso
2019-02-02 11:50 ` [PATCH 06/12 net-next,v7] drivers: net: use flow action infrastructure Pablo Neira Ayuso
2019-02-02 11:50   ` Pablo Neira Ayuso
2019-02-02 15:44   ` Jiri Pirko
2019-02-02 15:44     ` Jiri Pirko
2019-02-02 11:50 ` [PATCH 07/12 net-next,v7] cls_flower: don't expose TC actions to drivers anymore Pablo Neira Ayuso
2019-02-02 11:50   ` Pablo Neira Ayuso
2019-02-02 11:50 ` [PATCH 08/12 net-next,v7] flow_offload: add wake-up-on-lan and queue to flow_action Pablo Neira Ayuso
2019-02-02 11:50   ` Pablo Neira Ayuso
2019-02-02 11:50 ` [PATCH 09/12 net-next,v7] ethtool: add ethtool_rx_flow_spec to flow_rule structure translator Pablo Neira Ayuso
2019-02-02 11:50   ` Pablo Neira Ayuso
2019-02-02 11:50 ` [PATCH 10/12 net-next,v7] dsa: bcm_sf2: use flow_rule infrastructure Pablo Neira Ayuso
2019-02-02 11:50   ` Pablo Neira Ayuso
2019-02-02 11:50 ` [PATCH 11/12 net-next,v7] qede: place ethtool_rx_flow_spec after code after TC flower codebase Pablo Neira Ayuso
2019-02-02 11:50   ` Pablo Neira Ayuso
2019-02-02 11:50 ` [PATCH 12/12 net-next,v7] qede: use ethtool_rx_flow_rule() to remove duplicated parser code Pablo Neira Ayuso
2019-02-02 11:50   ` Pablo Neira Ayuso
2019-02-06 18:39 ` [PATCH 00/12 net-next,v7] add flow_rule infrastructure David Miller
2019-02-06 18:39   ` David Miller
2019-02-06 20:44   ` Florian Fainelli

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.