...
Clone ONOS repository. On your Mininet VM shell, type:
Code Block language bash cd ~ git clone https://github.com/opennetworkinglab/onos.git
Source ONOS's bash_profile. On your Mininet VM shell, type:
Code Block language bash echo "source ~/onos/tools/dev/bash_profile" > ~/.bashrc source ~/.bashrc
Important: replace .bashrc with your shell configuration profile (.bash_aliases, .profile, etc.)
Build and install P4 tools. We have prepared a special command to install everything in one shot! On your Mininet VM shell, simply type:
Code Block language bash onos-setup-p4-dev
This command will download, build and install BMv2 (with the simple_switch_grpc target), P4Runtime libraries, the P4 compiler p4c, the old BMv2 compiler p4c-bmv2, and all required dependencies (including protobuf and gRPC). This command takes approx. 20 minutes to complete with the minimum system configuration described before.
if you run out of space on you mininet machine you can go inside the p4tools folder in the home directory:Code Block language bash cd ~/p4tools
then go in one of the local directories, e.g. p4rutnime
Code Block language bash cd p4runtime
and clean the make artifacts with
Code Block language bash make clean
Build the example P4 programs. On your Mininet VM shell, type:
Code Block language bash cd ~/onos/tools/test/p4src/p4-16/ make all
Start Mininet, using BMv2 simple_switch_grpc target. On your Mininet VM shell, type:
Code Block language bash sudo -E mn --custom $BMV2_MN_PY --switch onosbmv2 --controller remote,ip=192.168.56.1
Be sure to use the correct IP address of your ONOS instance.
TBC
...