sched: add PIE based congestion management
authorWojciech Liguzinski <wojciechx.liguzinski@intel.com>
Thu, 4 Nov 2021 11:03:33 +0000 (11:03 +0000)
committerThomas Monjalon <thomas@monjalon.net>
Thu, 4 Nov 2021 14:41:49 +0000 (15:41 +0100)
commit44c730b0e37971ef154035d580fbd26fe2ee0498
tree01007e0fe6001b9f1a382ba9994f35630a6eafea
parentf2777b53b189813e9c22e2cf0bbecb9327f8dcce
sched: add PIE based congestion management

Implement PIE based congestion management based on rfc8033.

The Proportional Integral Controller Enhanced (PIE) algorithm works
by proactively dropping packets randomly.
PIE is implemented as more advanced queue management is required to
address the bufferbloat problem and provide desirable quality of
service to users.

Tests for PIE code added to test application.
Added PIE related information to documentation.

Signed-off-by: Wojciech Liguzinski <wojciechx.liguzinski@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Acked-by: Jasvinder Singh <jasvinder.singh@intel.com>
17 files changed:
MAINTAINERS
app/test/meson.build
app/test/test_pie.c [new file with mode: 0644]
config/rte_config.h
doc/guides/prog_guide/glossary.rst
doc/guides/prog_guide/qos_framework.rst
doc/guides/prog_guide/traffic_management.rst
drivers/net/softnic/rte_eth_softnic_tm.c
examples/ip_pipeline/tmgr.c
examples/qos_sched/cfg_file.c
examples/qos_sched/init.c
lib/sched/meson.build
lib/sched/rte_pie.c [new file with mode: 0644]
lib/sched/rte_pie.h [new file with mode: 0644]
lib/sched/rte_sched.c
lib/sched/rte_sched.h
lib/sched/version.map