[P4-discuss] Question about PI and PD
Aaron A. Glenn
aaron at aagico.com
Sat May 19 08:50:35 EDT 2018
I'm far from an authority on the subject, but was similarly confused and believe I've come to understand the situation better.
On Fri, May 18, 2018, at 15:34, Douglas Litke wrote:
> I am confused about what is PI and what is PD
> I know PI = Protocol Independent. But what does it do? How is it related
> to P4Runtime (if it is)?
> I understand PD = Protocol Dependent. I assume this is the code that
> runs on the switch, and controls the ASIC. Correct?
In the context of P4Runtime specifically, the distinction between architecture/platform dependence or independence is of most interest. P4Runtime is completely oblivious to any underlying protocol (even the RPC between controller & agent, though gRPC & protobuf definitions are exclusively being used, so far).
I've tried to follow things in the P4 world very closely over the past two years, but I missed the part where PI became P4Runtime. The repo name is "still" PI on githubcom/p4lang, despite everything in it being P4Runtime.
> Is there a defined interface between the P4Runtime code that decodes the
> messages from the Controller, and the code generated by the P4C that
> controls the ASIC? Or is it all one output?
I believe that is P4Info. I'm only a few weeks into exploring that, so I'll leave my commentary there :-)
> I have gone through several presentations on P4 and P4Runtime, and have
> not been able to get a clear picture of the pieces. Maybe I just did not
> find the correct presentation.
I imagine and hope the evolving v1.0.0 P4Runtime draft will be as enlightening to you as it was me:
it took a bit of effort to find, and I apologize in advance if it is not meant to be publicly announced or referenced!
Aaron A. Glenn
+1 (877) 926-5767
AAGlenn Internetworking Company
Cheyenne, WY 82001 | +1 (307) 316-5767
More information about the P4-discuss