[P4-dev] Question on p4ofagent and control of P4 devices

Antonin Bas antonin at barefootnetworks.com
Wed Feb 10 17:45:22 EST 2016

Hi Carmelo,

What you say is correct. Also note that p4ofagent has not been ported to
bmv2 yet. In theory, because both bmv1 and bmv2 implement the PD APIs, the
same code could essentially be ported to bmv2.
I discussed this topic (integrating OF-compatible tables and non
OF-compatible tables) with Ramana on another thread. I will forward the
thread to you and the mailing list as it was probably lost when the
original p4-dev mailing list went down.
The idea is that your P4 tables can be split between 1) OF tables which can
be controlled by an OF agent and 2) all the other tables (that includes
stateful tables) which should be controlled directly using the P4 APIs
(PD). p4ofagent is supposed to help you with 1), by providing an OF agent
that works with many different P4 pipelines. In practice, there is still
some work that needs to go into p4ofagent to make it really useful (more OF
features supported, more flexibility, no code auto-generation?), which is
why I advised Ramana, who was interested in running a single P4 program, to
write his own agent on top of the PD APIs. For 2), you are pretty much on
your own, and I agree that the task can be quite daunting with the current
APIs. We are working on making these APIs better to make writing control
plane easier and more intuitive.



On Tue, Feb 9, 2016 at 12:08 AM, Carmelo Cascone <carmelo at onlab.us> wrote:

> Hi all,
> I’m looking at ways to make ONOS capable of controlling P4 devices, e.g.
> bmv2 software switch to start.
> In my understanding with p4ofagent it is possible to add OpenFlow 1.3
> support to a P4 target by manually defining a mapping between OF tables and
> user-defined P4 tables. However, please correct me if I’m wrong, plain OF
> would inhibit access to P4-specific features such as non-OF headers and
> actions, range match, expressions in action parameters, stateful registers
> read/write, etc.
> Is there any plan / anyone working on extending p4ofagent in order to
> support such features?
> Thanks,
> Carmelo Cascone
> _______________________________________________
> P4-dev mailing list
> P4-dev at lists.p4.org
> http://lists.p4.org/mailman/listinfo/p4-dev_lists.p4.org

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.p4.org/pipermail/p4-dev_lists.p4.org/attachments/20160210/6116a56b/attachment-0002.html>

More information about the P4-dev mailing list