p4lang / p4runtime

Specification documents for the P4Runtime control-plane API
Apache License 2.0
140 stars 86 forks source link

Making sure that the latest P4Runtime spec is compatible with P4_16 v1.2.2 #389

Closed antoninbas closed 6 months ago

antoninbas commented 2 years ago

P4Runtime v1.3 recommends using version v1.2.1 of the P4_16 language. P4_16 v1.2.2 was released in May 2021, with the following changes: https://p4.org/p4-spec/docs/P4-16-v1.2.2.html#sec-summary-of-changes-made-in-version-122. Some of these changes do have an impact on P4Runtime or could have an impact on P4Runtime:

So unless I am mistaken, it's primarily 2 items that we have to look into. Would be great to tackle this before the P4Runtime v1.4 release.

cc @smolkaj @jafingerhut @jonathan-dilorenzo

smolkaj commented 2 years ago

That seems reasonable. Agreed it would be nice to upgrade to v1.2.2

jfingerh commented 1 year ago

@jameschoi I will ping you on several public p4runtime issues to call your attention to them. For others, sorry for the comment noise.

antoninbas commented 1 year ago

At the moment the latest version is P4_16 v1.2.3, so that should be the new target for P4Runtime v1.4 P4_16 v1.2.4 should come fairly soon, but it is likely to include a significant change (initial entries support) that may have a large impact on P4Runtime. So we probably want to tie P4Runtime v1.4 to P4_16 v1.2.3, and address "initial entries" post v1.4 release.

cc @chrispsommers @jafingerhut

jafingerhut commented 1 year ago

I have created a separate issues for this new feature mentioned above in Version 1.2.2 of the language spec that might have an impact on the P4Runtime API definition:

It seems like a good idea to create separate issues for each of the other 2 features mentioned above, too, so that each can make progress independently of the others.

jafingerhut commented 1 year ago

I have also created two more separate issues on particular extensions to the P4_16 language spec, with the object of deciding what the P4Runtime API specification should say about them:

jafingerhut commented 6 months ago

I am closing this issue, since the following issues currently open as of 2024-Jan-12 are tracking all of the remaining new P4_16 language features added in v1.2.2 of the spec that are not yet explicitly addressed in the latest P4Runtime API specification: