-
Notifications
You must be signed in to change notification settings - Fork 3
Description
Using only BMv2 simple_switch_grpc and Mininet, e.g. as provided in the https://github.com/p4lang/tutorials repository, there are significant issues where when simulated links are congested, the queueing behavior in terms of latency and throughput is significantly different than what occurs with physical switches and constant bit rate links between them. See [1] [2] for examples of the kinds of issues encountered.
In research paper [3], the authors say they have implemented software that enables one to write P4 programs and simulate them on a system where performance-level details similar to real physical switches are modeled correctly. If true, it would be good to have explicit instructions on how to run these, perhaps documented in the tutorials repository [3] for one or more exercises that rely on queue depths for their behavior, e.g. especially the ecn [4] and link_monitor exercises [5].
[1] https://forum.p4.org/t/unexpected-queue-depth-spikes-in-bmv2-v1model-during-congestion-control/1391
[2] https://forum.p4.org/t/when-i-conducted-an-attack-experiment-using-bmv2-the-tcp-congestion-control-seemed-to-fail/1373
[3] https://github.com/p4lang/project-ideas/issues
[4] https://github.com/p4lang/tutorials/tree/master/exercises/ecn
[5] https://github.com/p4lang/tutorials/tree/master/exercises/link_monitor