-
Run project with 'make'
-
Open hosts with :
- xterm h1 h2 h4
- Configure the wanted network data in config/config.yaml
- Or write a new one with the same fields
- In another terminal :
- Update network behavior with 'make int' if you want to use the config/config.yaml
- To use another config file update with 'make CONFIG=myFilePath int'
- On h2:
- Execute command : 'cd collector'.
- Run : './receive_int.py' if you just want to monitor metadata.
- Or : './receive_int.py --o <csv_name>' if you want to save metadata in a CSV file.
- On h4 run :
- ./receive.py
- On h1 run :
- ./send.py --ip 10.0.4.4 --l4 udp --port 80 [--m "INT is nice !"] [-c 10]
- ./send.py --ip 10.0.4.4 --l4 tcp --port 55555 [--m "INT is cool !"] [-c 10]
h2 should receive the INT report and h4 a message without INT headers (except for some metadata traces)
-
Follow the p4-guide accordingly to you distribution : https://github.com/jafingerhut/p4-guide
-
If your distribution is Ubuntu 20.04 or higher you might have to install pip2 and python 2 by hand. If so, follow this guide : https://linuxize.com/post/how-to-install-pip-on-ubuntu-20.04/
-
P4C is required to compile the different P4 programs and can be obtained here : https://github.com/p4lang/p4c