Cristian Dumitrescu
5d109deffa
ethdev: add traffic management API
This patch introduces the generic ethdev API for the traffic manager capability, which includes: hierarchical scheduling, traffic shaping, congestion management, packet marking. Main features: - Exposed as ethdev plugin capability (similar to rte_flow) - Capability query API per port, per level and per node - Scheduling algorithms: Strict Priority (SP), Weighed Fair Queuing (WFQ) - Traffic shaping: single/dual rate, private (per node) and shared (by multiple nodes) shapers - Congestion management for hierarchy leaf nodes: algorithms of tail drop, head drop, WRED; private (per node) and shared (by multiple nodes) WRED contexts - Packet marking: IEEE 802.1q (VLAN DEI), IETF RFC 3168 (IPv4/IPv6 ECN for TCP and SCTP), IETF RFC 2597 (IPv4 / IPv6 DSCP) Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com> Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com> Acked-by: Balasubramanian Manoharan <balasubramanian.manoharan@caviumnetworks.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
DPDK is a set of libraries and drivers for fast packet processing. It supports many processor architectures and both FreeBSD and Linux. The DPDK uses the Open Source BSD license for the core libraries and drivers. The kernel components are GPLv2 licensed. Please check the doc directory for release notes, API documentation, and sample application information. For questions and usage discussions, subscribe to: users@dpdk.org Report bugs and issues to the development mailing list: dev@dpdk.org
Description
Languages
C
99.1%
Meson
0.5%
Python
0.2%
Shell
0.1%