traffic-control: Add DualPI2 queue disc

This MR introduces the DualPI2 AQM (RFC 9332) to the traffic-control module. It provides the necessary node-level infrastructure for the L4S architecture.

  • Implements DualPi2QueueDisc with Step AQM and PI2 controller.
  • Adds credit-based WRR scheduler for Classic and L4S traffic isolation.
  • Includes comprehensive test suite validating ECN classification, AQM step marking, scheduler weights, overflow, and overload drops.
  • Provides dualpi2-example.cc simulating DCTCP and TCP Cubic coexistence.
  • Updates documentation (dualpi2.rst) and adds trace sources.

Evaluation

The implementation has already been exercised through a set of mixed-traffic experiments (DCTCP + TCP Cubic sharing a DualPI2 bottleneck across a range of bottleneck rates and RTTs). The experiment scenarios, batch runner, and aggregation scripts are kept in a separate repository: https://github.com/GPRT/l4s-for-ns3

Merge request reports

Loading
Loading