OFTest suite for PMC OLT
Small suite of tests that describe the behaviour needed from the OLT for CORD.
This is based on the OFTest framework. See here for details on OFTest, including prerequisites and steps to set up: https://github.com/floodlight/oftest
Firstly make sure the prerequisites for OFTest are installed - Python and Scapy.
Clone both the OFTest repository and this repository side-by-side. You can find oftest at https://github.com/floodlight/oftest.
You'll need to connect the OLT port and one of the ONU ports connected to interfaces on the server - for example, ONU port 1 to eth1 on the server, and OLT port 129 to eth2 on the server.
Then you can run the tests as follows:
sudo oftest/oft --test-dir=olt-oftest/ -i 1@eth1 -i 129@eth2 --port 6633 -V 1.3
Most forwarding tests use 1 ONU port, and some multicast tests use 2 ONU ports. By default the tests use ONU ports 1 and 2, and OLT port 129. If you need to change the port numbers used by the tests, you can set them using test-params.
For example, to use the ONU ports 130 and 131, and OLT port 258, the following command can be used:
sudo ./oftest/oft --test-dir=olt-oftest/ -i 130@h1-eth0 -i 131@h2-eth0 -i 258@h129-eth0 --port 6633 -V 1.3 --test-params="onu_port=130;onu_port2=131;olt_port:258;"
The port numbers must be set correctly in the -i arguments which are local interface connected to hardware ports, and in the --test-params argument.
We've also provided a Mininet topology that runs an OVS instance with port 1 and port 129 so we can run the tests and verify the correct behaviour without using the OLT. The OVS switch stands in for the OLT in the test framework.
First install Mininet and its dependencies.
Then start the switch:
sudo olt-oftest/olt-topo.py
Now you can run the tests on the OVS switch using:
sudo ./oftest/oft --test-dir=olt-oftest/ -i 1@h1-eth0 -i 129@h129-eth0 --port 6633 -V 1.3