P4Simulator is a P4-driven network simulator aiming at combining P4, the state-of-the-art programmable data plane language and ns-3, one of the most popular network simulators. P4Simulator is an open-source project under Apache License 2.0.
-
master: P4 simulator (ns-3 + bmv2). This is after the devbmv2 and replace all the
std::threads
withSimulator::Schedule
(Localization). Replace the system with ns-3 time. There is a lot of work waiting to be done. Current is not finished. -
devbmv2: [Recommend] from teams of TU Dresden. This move all the functions from
bmv2-simple-switch
into thep4-model.cc
with multi-threads, support all the features ofbmv2-simple-switch
(without thrift server), which makes a hybrid simulator. The time is still using system time inp4-switch
.- Fast and automaticly build network topo in ns-3 with
text
file. - Support the P4-verison 16.
- Integrate the
BMv2-simple-switch
with all features: Supported primitive actions. More detail see simple_switch-readme. - Command text can add the flow-table or other settings by ipc. Support see table-match-kinds-supported.
- Fast and automaticly build network topo in ns-3 with
-
devmmy: private branch by developer for development.
-
originsrc: The origin P4Simulator. This is the old version only support P4-14 with last update in 2018. The process is simple and only support the basic routing etc features.
- First check the NS3-p4simulator-install
- Before you should install
bmv2
. For some reasons, now we still using thethrift
tools interface ofbmv2
.