-
Notifications
You must be signed in to change notification settings - Fork 6
Home
Ariel Góes de Castro edited this page May 31, 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.py
to 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 ([email protected])
Marcos Felipe Schwarz
Francisco Germano Vogt ([email protected])
Ariel Góes De Castro ([email protected])
Christian Rodolfo Esteve Rothenberg