On Tue, Sep 27, 2022 at 04:36:18PM +0200, Thomas Monjalon wrote: > 19/09/2022 14:15, sk...@marvell.com: > > 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. > > > > This patch adds 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. > [...] > > doc/guides/nics/features.rst | 12 +++ > > doc/guides/nics/features/default.ini | 1 + > > lib/eal/include/meson.build | 1 + > > lib/eal/include/rte_cman.h | 55 ++++++++++ > > lib/ethdev/ethdev_driver.h | 25 +++++ > > lib/ethdev/meson.build | 1 + lib/ethdev/rte_cman.c | > > 101 ++++++++++++++++++ lib/ethdev/rte_ethdev.h | 151 > > +++++++++++++++++++++++++++ lib/ethdev/version.map | 6 > > ++ > > I feel EAL is not the right place for CMAN definitions. > > After a discussion with Jerin, I understand we could use the same > definitions in other API classes, not only ethdev. However I think this > .h file should be better hosted in lib/ethdev/ with its own namespace > rte_cman. Then other libs could include this rte_cman.h without having a > strong dependency on ethdev. > > Deal? > Would rte_net also be an option? Alternatively, is this related to the work and structures defined in the meter library header, since it seems also related to congestion management on ingress?
/Bruce