mbox series

[v4,00/20] net/sfc: support flow API COUNT action

Message ID 20210702083948.546667-1-andrew.rybchenko@oktetlabs.ru (mailing list archive)
Headers show
Series net/sfc: support flow API COUNT action | expand

Message

Andrew Rybchenko July 2, 2021, 8:39 a.m. UTC
Update base driver and support COUNT action in transfer flow rules.

v4:
 - fix build on Fedora 32 and RHEL 8 / CentOS 8 with half-installed
   libatomic

v3:
 - fix build brekage because of incorrectly rebased and squashed
   in fix

v2:
 - add release notes
 - add missing documentaion
 - fix spelling
 - handle query in stopped gracefully


Andrew Rybchenko (6):
  net/sfc: do not enable interrupts on internal Rx queues
  common/sfc_efx/base: separate target EvQ and IRQ config
  common/sfc_efx/base: support custom EvQ to IRQ mapping
  net/sfc: explicitly control IRQ used for Rx queues
  net/sfc: add NUMA-aware registry of service logical cores
  common/sfc_efx/base: add packetiser packet format definition

Igor Romanov (14):
  net/sfc: introduce ethdev Rx queue ID
  net/sfc: introduce ethdev Tx queue ID
  common/sfc_efx/base: add ingress m-port RxQ flag
  common/sfc_efx/base: add user mark RxQ flag
  net/sfc: add abstractions for the management EVQ identity
  net/sfc: add support for initialising different RxQ types
  net/sfc: reserve RxQ for counters
  common/sfc_efx/base: add counter creation MCDI wrappers
  common/sfc_efx/base: add counter stream MCDI wrappers
  common/sfc_efx/base: support counter in action set
  net/sfc: add Rx datapath method to get pushed buffers count
  common/sfc_efx/base: add max MAE counters to limits
  net/sfc: support flow action COUNT in transfer rules
  net/sfc: support flow API query for count actions

 doc/guides/nics/sfc_efx.rst                   |   2 +
 doc/guides/rel_notes/release_21_08.rst        |   6 +
 drivers/common/sfc_efx/base/ef10_ev.c         |  14 +-
 drivers/common/sfc_efx/base/ef10_impl.h       |   1 +
 drivers/common/sfc_efx/base/ef10_rx.c         |  57 +-
 drivers/common/sfc_efx/base/efx.h             | 113 +++
 drivers/common/sfc_efx/base/efx_ev.c          |  39 +-
 drivers/common/sfc_efx/base/efx_impl.h        |   8 +-
 drivers/common/sfc_efx/base/efx_mae.c         | 430 ++++++++-
 drivers/common/sfc_efx/base/efx_mcdi.c        |   7 +-
 drivers/common/sfc_efx/base/efx_mcdi.h        |   7 +
 .../base/efx_regs_counters_pkt_format.h       |  87 ++
 drivers/common/sfc_efx/base/efx_rx.c          |  14 +-
 drivers/common/sfc_efx/base/rhead_ev.c        |  14 +-
 drivers/common/sfc_efx/base/rhead_impl.h      |   1 +
 drivers/common/sfc_efx/base/rhead_rx.c        |   6 +
 drivers/common/sfc_efx/version.map            |   9 +
 drivers/net/sfc/meson.build                   |  26 +
 drivers/net/sfc/sfc.c                         |  68 +-
 drivers/net/sfc/sfc.h                         |  22 +
 drivers/net/sfc/sfc_dp.h                      |   6 +
 drivers/net/sfc/sfc_dp_rx.h                   |   4 +
 drivers/net/sfc/sfc_ef100_rx.c                |  15 +
 drivers/net/sfc/sfc_ethdev.c                  | 115 ++-
 drivers/net/sfc/sfc_ev.c                      |  36 +-
 drivers/net/sfc/sfc_ev.h                      | 107 ++-
 drivers/net/sfc/sfc_flow.c                    |  77 +-
 drivers/net/sfc/sfc_flow.h                    |   6 +
 drivers/net/sfc/sfc_mae.c                     | 296 ++++++-
 drivers/net/sfc/sfc_mae.h                     |  61 ++
 drivers/net/sfc/sfc_mae_counter.c             | 827 ++++++++++++++++++
 drivers/net/sfc/sfc_mae_counter.h             |  58 ++
 drivers/net/sfc/sfc_rx.c                      | 231 +++--
 drivers/net/sfc/sfc_rx.h                      |  15 +-
 drivers/net/sfc/sfc_service.c                 |  99 +++
 drivers/net/sfc/sfc_service.h                 |  20 +
 drivers/net/sfc/sfc_stats.h                   |  80 ++
 drivers/net/sfc/sfc_tweak.h                   |   9 +
 drivers/net/sfc/sfc_tx.c                      | 164 ++--
 drivers/net/sfc/sfc_tx.h                      |  11 +-
 40 files changed, 2918 insertions(+), 250 deletions(-)
 create mode 100644 drivers/common/sfc_efx/base/efx_regs_counters_pkt_format.h
 create mode 100644 drivers/net/sfc/sfc_mae_counter.c
 create mode 100644 drivers/net/sfc/sfc_mae_counter.h
 create mode 100644 drivers/net/sfc/sfc_service.c
 create mode 100644 drivers/net/sfc/sfc_service.h
 create mode 100644 drivers/net/sfc/sfc_stats.h

Comments

David Marchand July 20, 2021, 12:19 p.m. UTC | #1
On Fri, Jul 2, 2021 at 10:40 AM Andrew Rybchenko
<andrew.rybchenko@oktetlabs.ru> wrote:
>
> Update base driver and support COUNT action in transfer flow rules.
>
> v4:
>  - fix build on Fedora 32 and RHEL 8 / CentOS 8 with half-installed
>    libatomic
>
> v3:
>  - fix build brekage because of incorrectly rebased and squashed
>    in fix
>
> v2:
>  - add release notes
>  - add missing documentaion
>  - fix spelling
>  - handle query in stopped gracefully
>
>
> Andrew Rybchenko (6):
>   net/sfc: do not enable interrupts on internal Rx queues
>   common/sfc_efx/base: separate target EvQ and IRQ config
>   common/sfc_efx/base: support custom EvQ to IRQ mapping
>   net/sfc: explicitly control IRQ used for Rx queues
>   net/sfc: add NUMA-aware registry of service logical cores
>   common/sfc_efx/base: add packetiser packet format definition

I added the missing rte_flow feature in sfc.ini.

We had some exchanges offlist on the rte_service requirement.
This discussion will probably end up on the ml later.

Series applied, thanks.