[P4-dev] Multiple P4Runtime controllers with different roles

Antonin Bas antonin at barefootnetworks.com
Mon Aug 6 13:49:34 EDT 2018


Partitioning / sharding of P4 objects is an important feature and we made
sure that the P4Runtime design accommodated for this.
I can think of several valid ways to define a role for a given controller.
For P4Runtime v1.0, we chose *not to standardize any role definition scheme* (I
just realized that this was not called-out explicitly in the spec, so I'll
make sure this is added for our next 1.0.0 release candidate). This also
means that the reference P4Runtime implementation (p4lang/PI) does not
support any scheme for partitioning. The standardization of one (possible)
mechanism for defining roles is definitely on the timeline for the P4 API
WG (along with support in the reference implementation), but that will not
be available for a while. It is likely that this will come in the form of a
companion document, and not as part of the P4Runtime spec itself.



On Fri, Aug 3, 2018 at 1:59 AM, cs.lev <cs.lev at gmx.com> wrote:

> Dear All,
> I have read in the P4Runtime specification that multiple controllers
> can connect to the same switch (not just considering backup
> controllers), and by means of role_ids different controllers can have
> different view/access to the P4 pipeline.
> For instance, two match+action tables are defined, but none of the
> controllers could control both; one of them is responsible for the
> first one, while the other controller controls the second one.
> I have seen that this role_id should be exchanged/defined between the
> P4Runtime server and client, so it's not possible for a controller to
> just simply define its role, naturally.
> I would like to examine this feature, but I have not found any useful
> information about how to set this role_id in the .p4 program (for a
> table ?, action ?, pipeline ?, parser?).
> Can you give me some pointers?
> Thank you,
> cslev
> _______________________________________________
> 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/20180806/94c4f847/attachment.html>

More information about the P4-dev mailing list