Just wanted to update everyone about a successful test we had running Onos on Arm. We’ve been having trouble getting the automated validation provided by Onos itself to run but we have been able to test some things out manually.
The test mostly follows this guide with some adaptations for the current version of ONOS. Here are the steps to bring up Onos and use it as an OpenFlow controller connecting two devices:
Step 1: Bring up Onos
docker run -d -p 6640:6640 -p 6653:6653 -p 8101:8101 -p 8181:8181 -p 9876:9876 cachengo/onos:1.13.2
Step 2: Install and start Mininet with two devices
git clone git://github.com/mininet/mininet mininet/util/install.sh -nfv # Start Mininet mn --topo linear --mac --switch ovsk,protocols=OpenFlow13 --controller remote,127.0.0.1
The previous step created a network with two devices using our Onos instance (notice the 127.0.0.1) as the OpenFlow controller. Now let’s have these two devices message each other. On the mininet prompt run:
h1 ping h2 -c 1
That should have failed (checkout the packet transfer stats). Onos is not yet configured to use OpenFlow (although the port is open) or forward packets.
Step 3: Configure Onos
- Visit the ONOS GUI at: http://<HOST_ADDRESS>:8181/onos/ui
- Enter username
- Click on the menu and go to the “Applications” section.
- Use the Search bar to find and activate (play button at the top-right) the following applications:
- OpenFlow Provider Suite
- Reactive Forwarding
Back at the Mininet prompt run
h1 ping h2 -c 1 again. Take a look at the packet transfer success rate. Life is good.