Skip to content
Snippets Groups Projects
Commit 58e01ae1 authored by Georgios Katsikas's avatar Georgios Katsikas
Browse files

doc: further improvements in P4 L1 fwd instructions

parent f2e35095
No related branches found
No related tags found
2 merge requests!294Release TeraFlowSDN 4.0,!290Refactored P4 test
# Tests for P4 functionality of TeraFlowSDN
This directory contains the necessary scripts and configurations to run tests for the P4 functionality of TFS.
This directory contains the necessary scripts and configurations to run tests for a simple port forwarding TFS program atop software-based P4 switches (using Mininet).
## Prerequisites
......@@ -11,7 +11,8 @@ To build these services on your target platform, follow the instructions in `./p
## Basic scripts
To run the experiments you should use the five scripts in the following order:
```
```shell
setup.sh
run_test_01_bootstrap.sh
run_test_02_create_service.sh
......@@ -19,18 +20,18 @@ run_test_03_delete_service.sh
run_test_04_cleanup.sh
```
The setup script copies the necessary artifacts to the SBI service pod. It should be run just once, after a fresh install of TFS.
The bootstrap script registers the context, topology, links and, devices to TFS.
The create service scripts establishes a service between two endpoints.
The delete service script delete the aforementioned service.
Cleanup script deletes all the objects (context, topology, links, devices) from TFS.
The `setup` script copies the necessary artefacts to the SBI service pod. It should be run just once, after a fresh install of TFS.
The `bootstrap` script registers the context, topology, links, and devices to TFS.
The `create` service script establishes a service between two endpoints.
The `delete` service script deletes the aforementioned service.
The `cleanup` script deletes all the objects (context, topology, links, and devices) from TFS.
## Objects file
The above bash scripts make use of the corresponding python scripts found under `./tests/` directory.
More important is the `./tests/Objects.py` file, which contains the definition of the Context, Topology, Devices, Links, Services. **This is the file that need changes in case of a new topology.**
More important is the `./tests/Objects.py` file, which contains the definition of the Context, Topology, Devices, Links, Services. **This is the file that needs changes in case of a new topology.**
Check the `./tests/Objects.py` file before running the experiment to make sure that the switches details are correct (ip address, port, etc.)
Check the `./tests/Objects.py` file before running the experiment to make sure that the switches' details are correct (ip address, port, etc.)
## Mininet topologies
......@@ -38,10 +39,9 @@ In the `./mininet/` directory there are different mininet topology examples. The
## P4 artifacts
In the `./p4/` directory there are the compiled p4 artifacts that contain the pipeline that will be pushed to the p4 switch, along with the p4-runtime definitions.
The `./setup.sh` script copies from this directory. So if you need to change p4 program, make sure to put the compiled artifacts here.
In the `./p4/` directory there are the compiled p4 artefacts that contain the pipeline that will be pushed to the p4 switch, along with the p4-runtime definitions.
The `./setup.sh` script copies from this directory. So if you need to change p4 program, make sure to put the compiled artefacts here.
## Latency probe
In the `./probe/` directory there is a little program which calculates latency between two hosts in mininet and sends them to the Monitoring component. For specific instructions, refer to the corresponding `./probe/README.md` file.
In the `./probe/` directory there is a little program which calculates latency between two hosts in mininet and sends these measurements to the Monitoring component. For specific instructions, refer to the corresponding `./probe/README.md` file.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment