Versions Compared

Key

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

...

While for criteria and tables it is possible to specify a 1-to-1 relationship through a map, for Instructions the same is not possible or at least it wouldn't’ be convenient. The reason is that Instructions in ONOS are modeled after OpenFlow actions (which are protocol-dependent) and treatments (to be applied as a consequence of a match) are usually defined as a list of instructions. In P4 instead, actions are defined as a compound of low-level protocol-independent primitives (not expressible using ONOS Instructions), and, most important, P4 allows to specify only one action per table entry. Extracting the "meaning" of a given treatment instance and mapping it to a P4 action is not straightforward and might be progra-specific, That’s why we expect a P4 programmer using ONOS to write its own interpretation logic (i.e. Java code) that can map a given treatment instance to a BMv2 action instance.

"Default" context

 

When devices connect for the first time to ONOS a “default” context is automatically applied, triggering a configuration swap on the device and exposing to the system a default interpreter. Such a context is used to provide a minimum set of data plane capabilities for basic ONOS services and apps to work. The default context is based on a default.json BMv2 configuration, (compiled from default.p4) and default interpreter implementation.

...