-
Notifications
You must be signed in to change notification settings - Fork 7
Home
FranciscoVogt edited this page May 30, 2022
·
19 revisions
P7 is a network emulator for P4-enabled devices. With P7, it is possible to emulate network topologies using recirculations, port configurations, different match+action tables, and even DAC cables. What is more, we can connect physical servers to inject traffic to the topology.
The emulation of the network link characteristics includes simple metrics (e.g., Connectivity, Latency [ms], bandwidth [Mbps]) and advance (e.g., Packet loss [%], Jitter [ms], Re-ordering [%])
- $
apt-get install git - $
git clone https://github.com/intrig-unicamp/p7.git - Edit
main.pyto set your customized topology
| Feature | Description |
|---|---|
| Link Connectivity | Jumper cabling with/without Vlan Tag Intern Recirculation + internal Tag |
| Latency [ms] | Using an internal timer TM + Pipelines recirculation |
| Jitter [ms] | Hash to determine recirculation times Lookup table with mathematical functions |
| Packet loss | Hash to determine the probability to discard packets Random function to determine the probability to discard packets Realistic definition of packet loss |
| Re-ordering | TNA TM features Targeted probabilistic packet (ID) recirculation within a flow |
| Bandwidth [bps] | Rate limit TNA TM feature Port configuration and mapping |
Fabricio E Rodriguez Cesen (frodri@dca.fee.unicamp.br)
Marcos Felipe Schwarz
Francisco Germano Vogt (franciscogermanovogt@gmail.com)
Ariel Góes De Castro (arielgoesdecastro@gmail.com)
Christian Rodolfo Esteve Rothenberg