> -----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>