Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The content of this page is still work in progress, it will be ready for the ONOS 1.11 "Loon" release.

 

...

Table of Contents

Developers Environment

To have a working simulator to use with the p4Runtime integration in ONOS you have two options:

  • download a prebuilt image of the machine
  • build your own machine

Download Pre-Built VM

 

Build Your own VM

The following steps will help you set up a development environment with Mininet, ONOS and BMv2 with P4Runtime support.

...

  1. Clone ONOS repository. On your Mininet VM shell, type:

    Code Block
    languagebash
    cd ~
    git clone https://github.com/opennetworkinglab/onos.git
  2. Source ONOS's bash_profile. On your Mininet VM shell, type:

    Code Block
    languagebash
    echo "source ~/onos/tools/dev/bash_profile" > ~/.bashrc
    source ~/.bashrc

    Important: replace .bashrc with your shell configuration profile (.bash_aliases.profile, etc.)

  3. 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
    languagebash
    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
    languagebash
    cd ~/p4tools

    then go in one of the local directories, e.g. p4rutnime

    Code Block
    languagebash
    cd p4runtime

    and clean the make artifacts with

    Code Block
    languagebash
    make clean
  4. Build the example P4 programs. On your Mininet VM shell, type:

    Code Block
    languagebash
    cd ~/onos/tools/test/p4src/p4-16/
    make all
  5. TBC

Run the Simulator 


Start Mininet, using BMv2 simple_switch_grpc target. 

Go in the home directory:

Code Block
languagebash
cd ~

On your Mininet VM shell, type:

Code Block
languagebash
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.

...

 

...