This patch set introduces an ethdev-based abstraction layer for Quality of Service (QoS) Traffic Management, which includes: hierarchical scheduling, traffic shaping, congestion management, packet marking. The goal is to provide a simple generic API that is agnostic of the underlying HW, SW or mixed HW-SW implementation.
Patch 1 uses the approach introduced by rte_flow in DPDK to extend the ethdev functionality in a modular way for traffic management. Patch 2 introduces the generic ethdev API for traffic management. Cristian Dumitrescu (2): ethdev: add traffic management ops get API ethdev: add traffic management API MAINTAINERS | 5 + doc/api/doxy-api-index.md | 2 + lib/librte_ether/Makefile | 5 +- lib/librte_ether/rte_ethdev.c | 12 + lib/librte_ether/rte_ethdev.h | 20 + lib/librte_ether/rte_ether_version.map | 36 + lib/librte_ether/rte_tm.c | 438 ++++++++ lib/librte_ether/rte_tm.h | 1904 ++++++++++++++++++++++++++++++++ lib/librte_ether/rte_tm_driver.h | 366 ++++++ 9 files changed, 2787 insertions(+), 1 deletion(-) create mode 100644 lib/librte_ether/rte_tm.c create mode 100644 lib/librte_ether/rte_tm.h create mode 100644 lib/librte_ether/rte_tm_driver.h -- 2.7.4