Page tree

Versions Compared


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


This project proposes a method by which packet processing can be handled externally to the main ONOS process, i.e. by other processes or µ-services. It is a primary goal of this project to maintain the semantics of the existing packet processing pipeline as described by Thomas on the `ones`onos-discuss` email list:

The packet processors are lined-up in three buckets, advisors, directors, observers, in that order. Within each bucket, they are ordered in terms of relative priority. Regardless of the fate of the packet, everyone gets to see it. Advisors have the benefit of getting to see it first and get to comment on it before it is handled in any way. Directors get to emit or block, each of which is final and marks the packet as handled. Once handled, it can no longer be emitted or blocked in another way. Observers get to see it last, but they have the benefit of seeing its final fate.