-
RFC 8033, Proportional Integral Controller Enhanced (PIE) https://tools.ietf.org/html/rfc8033
-
RFC 8290, Fq-Codel https://tools.ietf.org/html/rfc8290
-
NS3 documentation (Doxygen), https://www.nsnam.org/doxygen/
-
Algorithm for PIE followed, https://tools.ietf.org/html/rfc8033#appendix-A
Implementation Details (details)
-
fq-pie-queue-disc.h (Click here)
This file contains the basic definition of the the FqPieFlow class and FqPieQueueDisc class. -
fq-pie-queue-disc.cc (Click here)
This file contains all the declarations of the functions in fq-pie-queue-disc.h
-
For validation of fq-pie, it is compared to pie :
- fq-pie-validation and pie-validation are compared
-
For evaluation of fq-pie, it is compared with fq-codel :
- fq-pie-light-tcp and fq-codel-light-tcp
- fq-pie-mix-traffic and fq-codel-mix-traffic
- fq-pie-heavy-tcp and fq-codel-heavy-tcp
-
List of example-files :
- fq-pie-light-tcp
- fq-codel-light-tcp
- fq-pie-mix-traffic
- fq-codel-mix-traffic
- fq-pie-heavy-tcp
- fq-codel-heavy-tcp
- fq-pie-validation
- pie-validation
-
Clone the repository
-
Run the following initialising code :
cd ns3/ ./waf configure --enable-examples ./waf build
-
To run an simulation for
example-file
(Check the list of example files above) :./waf --run example-file
-
If a validation script is run you have a Validation folder in your ns3 which has your example-file's sub folder containing simulation documents (cwnd traces, pcap files and queue traces) which can be analysed
-
If a evaluation script is run you have a Evaluation folder in your ns3 which has your example-file's sub folder containing simulation documents (cwnd traces, pcap files and queue traces) which can be analysed
(PS: For getting results in FQPIE, one must change the directory to desired examples directory in fq-pie-queuedisc.cc
)