mbox series

[net-next,v2,0/6] nfp: flow-independent tc action hardware offload

Message ID 20220223162302.97609-1-simon.horman@corigine.com (mailing list archive)
Headers show
Series nfp: flow-independent tc action hardware offload | expand

Message

Simon Horman Feb. 23, 2022, 4:22 p.m. UTC
Baowen Zheng says:

Allow nfp NIC to offload tc actions independent of flows.

The motivation for this work is to offload tc actions independent of flows
for nfp NIC. We allow nfp driver to provide hardware offload of OVS
metering feature - which calls for policers that may be used by multiple
flows and whose lifecycle is independent of any flows that use them.

When nfp driver tries to offload a flow table using the independent action,
the driver will search if the action is already offloaded to the hardware.
If not, the flow table offload will fail.

When the nfp NIC successes to offload an action, the user can check
in_hw_count when dumping the tc action.

Tc cli command to offload and dump an action:

 # tc actions add action police rate 100mbit burst 10000k index 200 skip_sw

 # tc -s -d actions list action police

 total acts 1

      action order 0:  police 0xc8 rate 100Mbit burst 10000Kb mtu 2Kb action reclassify
      overhead 0b linklayer ethernet
      ref 1 bind 0  installed 142 sec used 0 sec
      Action statistics:
      Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
      backlog 0b 0p requeues 0
      skip_sw in_hw in_hw_count 1
      used_hw_stats delayed

Changes between v1 and v2:
* Make some code-style changes based on review of v1
* Change the memory allocation way from GFP_ATOMIC to GFP_KERNEL.

Baowen Zheng (6):
  nfp: refactor policer config to support ingress/egress meter
  nfp: add support to offload tc action to hardware
  nfp: add hash table to store meter table
  nfp: add process to get action stats from hardware
  nfp: add support to offload police action from flower table
  nfp: add NFP_FL_FEATS_QOS_METER to host features to enable meter
    offload

 .../ethernet/netronome/nfp/flower/action.c    |  58 +++
 .../net/ethernet/netronome/nfp/flower/cmsg.h  |   7 +
 .../net/ethernet/netronome/nfp/flower/main.h  |  49 +-
 .../ethernet/netronome/nfp/flower/offload.c   |  16 +-
 .../ethernet/netronome/nfp/flower/qos_conf.c  | 430 +++++++++++++++++-
 5 files changed, 534 insertions(+), 26 deletions(-)

Comments

patchwork-bot+netdevbpf@kernel.org Feb. 25, 2022, 6 a.m. UTC | #1
Hello:

This series was applied to netdev/net-next.git (master)
by Jakub Kicinski <kuba@kernel.org>:

On Wed, 23 Feb 2022 17:22:56 +0100 you wrote:
> Baowen Zheng says:
> 
> Allow nfp NIC to offload tc actions independent of flows.
> 
> The motivation for this work is to offload tc actions independent of flows
> for nfp NIC. We allow nfp driver to provide hardware offload of OVS
> metering feature - which calls for policers that may be used by multiple
> flows and whose lifecycle is independent of any flows that use them.
> 
> [...]

Here is the summary with links:
  - [net-next,v2,1/6] nfp: refactor policer config to support ingress/egress meter
    https://git.kernel.org/netdev/net-next/c/bbab5f9332ee
  - [net-next,v2,2/6] nfp: add support to offload tc action to hardware
    https://git.kernel.org/netdev/net-next/c/59080da09038
  - [net-next,v2,3/6] nfp: add hash table to store meter table
    https://git.kernel.org/netdev/net-next/c/26ff98d7dd20
  - [net-next,v2,4/6] nfp: add process to get action stats from hardware
    https://git.kernel.org/netdev/net-next/c/776178a5cc67
  - [net-next,v2,5/6] nfp: add support to offload police action from flower table
    https://git.kernel.org/netdev/net-next/c/147747ec664e
  - [net-next,v2,6/6] nfp: add NFP_FL_FEATS_QOS_METER to host features to enable meter offload
    https://git.kernel.org/netdev/net-next/c/5e98743cfad0

You are awesome, thank you!