[EXT] [PATCH v4] ethdev: support congestion management
Sunil Kumar Kori
skori at marvell.com
Fri Oct 7 08:09:41 CEST 2022
> -----Original Message-----
> From: Andrew Rybchenko <andrew.rybchenko at oktetlabs.ru>
> Sent: Tuesday, October 4, 2022 2:33 PM
> To: Ferruh Yigit <ferruh.yigit at amd.com>; Thomas Monjalon
> <thomas at monjalon.net>; Ray Kinsella <mdr at ashroe.eu>
> Cc: dev at dpdk.org; Jerin Jacob Kollanukkaran <jerinj at marvell.com>; Sunil
> Kumar Kori <skori at marvell.com>
> Subject: [EXT] [PATCH v4] ethdev: support congestion management
>
> External Email
>
> ----------------------------------------------------------------------
> From: Jerin Jacob <jerinj at marvell.com>
>
> NIC HW controllers often come with congestion management support on
> various HW objects such as Rx queue depth or mempool queue depth.
>
> Also, it can support various modes of operation such as RED (Random early
> discard), WRED etc on those HW objects.
>
> Add a framework to express such modes(enum rte_cman_mode) and
> introduce (enum rte_eth_cman_obj) to enumerate the different objects
> where the modes can operate on.
>
> Add RTE_CMAN_RED mode of operation and
> RTE_ETH_CMAN_OBJ_RX_QUEUE,
> RTE_ETH_CMAN_OBJ_RX_QUEUE_MEMPOOL objects.
>
> Introduce reserved fields in configuration structure backed by
> rte_eth_cman_config_init() to add new configuration parameters without
> ABI breakage.
>
> Add rte_eth_cman_info_get() API to get the information such as supported
> modes and objects.
>
> Add rte_eth_cman_config_init(), rte_eth_cman_config_set() APIs to
> configure congestion management on those object with associated mode.
>
> Finally, add rte_eth_cman_config_get() API to retrieve the applied
> configuration.
>
> Signed-off-by: Jerin Jacob <jerinj at marvell.com>
> Signed-off-by: Sunil Kumar Kori <skori at marvell.com>
> Signed-off-by: Andrew Rybchenko <andrew.rybchenko at oktetlabs.ru>
> ---
> v3..v4: Andrew Rybchenko
> - rebase
> - remove eth_check_err() and use eth_err() instead
> - minor fixes in description to avoid "This patch" and "Added".
> - correct position in release notes
> v2..v3:
> - Rename rte_cman.c to rte_ethdev_cman.c
> - Move lib/eal/include/rte_cman.h to lib/ethdev/rte_cman.h
> - Fix review comments (Andrew Rybchenko)
> - Add release notes
>
> v1..v2:
> - Fix review comments (Akhil Goyal)
>
> rfc..v1:
> - Added RED specification
> (https://urldefense.proofpoint.com/v2/url?u=http-
> 3A__www.aciri.org_floyd_papers_red_red.html&d=DwIDAg&c=nKjWec2b6R
> 0mOyPaz7xtfQ&r=dXeXaAMkP5COgn1zxHMyaF1_d9IIuq6vHQO6NrIPjaE&m=
> cfAKlvyly-
> kCcVREQz1PWXyTolJrljsQUlj1VPUP5Y3GmvOpjvj66NNuJgv8sAYy&s=Ku1odzug
> BjIDA-mJnbb5p6GViFoSxYlzqBr4RshwYtg&e= ) link
> - Fixed doxygen comment issue (Min Hu)
>
> doc/guides/nics/features.rst | 12 ++
> doc/guides/nics/features/default.ini | 1 +
> doc/guides/rel_notes/release_22_11.rst | 6 +
> lib/ethdev/ethdev_driver.h | 25 ++++
> lib/ethdev/ethdev_private.h | 3 +
> lib/ethdev/meson.build | 2 +
> lib/ethdev/rte_cman.h | 55 +++++++++
> lib/ethdev/rte_ethdev.c | 2 +-
> lib/ethdev/rte_ethdev.h | 164 +++++++++++++++++++++++++
> lib/ethdev/rte_ethdev_cman.c | 101 +++++++++++++++
> lib/ethdev/version.map | 4 +
> 11 files changed, 374 insertions(+), 1 deletion(-) create mode 100644
> lib/ethdev/rte_cman.h create mode 100644 lib/ethdev/rte_ethdev_cman.c
>
[snip]
> 2.30.2
Acked-by: Sunil Kumar Kori <skori at marvell.com>
More information about the dev
mailing list