This is a software prototype of FairPolicer, which is implemented as a kernel module. FairPolicer is a network traffic policer that can fairly allocate bandwidth among contending flows regardless of their congestion control algorithms.
Details of FairPolicer can be found at our paper "Towards the Fairness of Traffic Policer", which was presented at INFOCOM'21.
- Linux 5.4.0
- Kernel headers
ethtool -K eth0 tso off gso off gro off lro off
This command disables offload features of eth0
to better emulate a switch.
make
insert-module.sh 4 1024
This command configures the FairPolicer with a 4*1024 Count-Min Sketch and inserts it into the kernel.
tc qdisc add dev eth0 root tbf rate 10mbit burst 180kb limit 1600b
This command enables FairPolicer at eth0
, allowing 180KB traffic burst
and throttling overall traffic rate to 10Mbps.
If you have any questions, contact Danfeng Shan.