Page tree

Versions Compared


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


  • Scripts to build onos-bmv2 (ONOS fork of BMv2) and p4c-bmv2 (P4 compiler for BMv2)
  • Example P4 programs to get started
  • Mininet custom file to use onos-bmv2
  • Various utility commands to quickly debug a running BMv2 network


titleExporting environment variables in the shell profile

To get the most from the tools and instructions discussed in the following sections,  it is highly recommended that you add this line to your shell configuration profile (.bash_aliases.profile, etc.):

Code Block
source /<path>/<to>/onos-p4-dev/tools/bash_profile


This walkthrough demonstrates the necessary steps to run a network of BMv2 devices in Mininet, connected to ONOS.

  1. First you need to build and run ONOS. The developer guide and this how-to screencast is a good starting point to build and run ONOS locally on your development machine. 

    titleBuild using Maven

    Important! We are transitioning our build system from Maven to BUCK. Most of ONOS 1.6 modules can be build using BUCK exepct for the bmv2 modules. Be sure to build ONOS using the following command:

    $ mvn clean install Mininet script

  • Sample commands to run a network of bmv2 devices connected to ONOS
  • Usage with