On 10/7/22 09:09, Sunil Kumar Kori wrote:
-----Original Message-----
From: Andrew Rybchenko <andrew.rybche...@oktetlabs.ru>
Sent: Tuesday, October 4, 2022 2:33 PM
To: Ferruh Yigit <ferruh.yi...@amd.com>; Thomas Monjalon
<tho...@monjalon.net>; Ray Kinsella <m...@ashroe.eu>
Cc: dev@dpdk.org; Jerin Jacob Kollanukkaran <jer...@marvell.com>; Sunil
Kumar Kori <sk...@marvell.com>
Subject: [EXT] [PATCH v4] ethdev: support congestion management
External Email
----------------------------------------------------------------------
From: Jerin Jacob <jer...@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 <jer...@marvell.com>
Signed-off-by: Sunil Kumar Kori <sk...@marvell.com>
Signed-off-by: Andrew Rybchenko <andrew.rybche...@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 <sk...@marvell.com>
Applied to dpdk-next-net/main, thanks.