The content of this page is still work in progress

Introduction

P4 is a domain-specific language designed to allow programming of protocol-independent packet processors. Behavioral Model v2 (BMv2) is the reference P4 software switch. Initial support for this type of device has been included into ONOS 1.6 (Goldeneye) with the goal of providing a common groundwork to support programmable data planes in the next versions of ONOS.

This document will guide you through the necessary steps to program a network of BMv2 devices using ONOS. This document assumes you are already familiar with ONOS, P4 and BMv2. In other words, we assume you are already able to run ONOS locally, you can write a P4 program and you already know how to build and run BMv2.

Contributors

AuthorOrganizationRoleEmail
Carmelo CasconeON.LabDevelopercarmelo@onlab.us

Overview

 

BMv2 integration in ONOS

 

BMv2 device context

"Default" context

Non-standard match and actions

Developers guide (WIP)

ONOS+P4 development environment

bmv2.py Mininet script

BMv2 Device Context Service API

Known issues (WIP)

Future work (WIP)