From: Michael Baum
> These patches add support to external Rx queues.
> External queue is a queue that is managed by a process external to PMD, but
> uses PMD process to generate its flow rules.
> 
> For the hardware to allow the DPDK process to set rules for it, the process 
> needs
> to use the same PD of the external process. In addition, the indexes of the
> queues in hardware are represented by 32-bit compared to the rte_flow indexes
> represented by 16-bit, so the processes need to share some mapping between
> the indexes.
> 
> These patches allow the external process to provide devargs which enable
> importing its context and PD, instead of prepare new ones. In addition, an 
> API is
> provided for mapping for the indexes of the queues.
> 
> v2:
> - Rebase.
> - Add ABI exception for common/mlx5 library.
> - Correct DevX flag updating.
> - Improve explanations in doc and comments.
> - Remove teatpmd part.
> 

Series-acked-by: Matan Azrad <ma...@nvidia.com>

> Michael Baum (6):
>   common/mlx5: consider local functions as internal
>   common/mlx5: glue device and PD importation
>   common/mlx5: add remote PD and CTX support
>   net/mlx5: optimize RxQ/TxQ control structure
>   net/mlx5: add external RxQ mapping API
>   net/mlx5: support queue/RSS action for external RxQ
> 
>  devtools/libabigail.abignore                 |   4 +
>  doc/guides/nics/mlx5.rst                     |   1 +
>  doc/guides/platform/mlx5.rst                 |  37 ++-
>  doc/guides/rel_notes/release_22_03.rst       |   1 +
>  drivers/common/mlx5/linux/meson.build        |   2 +
>  drivers/common/mlx5/linux/mlx5_common_os.c   | 196 ++++++++++++--
>  drivers/common/mlx5/linux/mlx5_common_os.h   |   7 +-
>  drivers/common/mlx5/linux/mlx5_glue.c        |  41 +++
>  drivers/common/mlx5/linux/mlx5_glue.h        |   4 +
>  drivers/common/mlx5/mlx5_common.c            |  64 ++++-
>  drivers/common/mlx5/mlx5_common.h            |  23 +-
>  drivers/common/mlx5/version.map              |   3 +
>  drivers/common/mlx5/windows/mlx5_common_os.c |  37 ++-
>  drivers/common/mlx5/windows/mlx5_common_os.h |   1 -
>  drivers/net/mlx5/linux/mlx5_os.c             |  18 ++
>  drivers/net/mlx5/mlx5.c                      |   6 +
>  drivers/net/mlx5/mlx5.h                      |   1 +
>  drivers/net/mlx5/mlx5_defs.h                 |   3 +
>  drivers/net/mlx5/mlx5_devx.c                 |  52 ++--
>  drivers/net/mlx5/mlx5_ethdev.c               |  18 +-
>  drivers/net/mlx5/mlx5_flow.c                 |  43 ++--
>  drivers/net/mlx5/mlx5_flow_dv.c              |  14 +-
>  drivers/net/mlx5/mlx5_rx.h                   |  49 +++-
>  drivers/net/mlx5/mlx5_rxq.c                  | 258 +++++++++++++++++--
>  drivers/net/mlx5/mlx5_trigger.c              |  36 +--
>  drivers/net/mlx5/mlx5_tx.h                   |   7 +-
>  drivers/net/mlx5/mlx5_txq.c                  |  14 +-
>  drivers/net/mlx5/rte_pmd_mlx5.h              |  50 +++-
>  drivers/net/mlx5/version.map                 |   3 +
>  29 files changed, 821 insertions(+), 172 deletions(-)
> 
> --
> 2.25.1

Reply via email to