Description
This issue should be closed exactly when the bullet item “Clarified behavior of table with no key property, or if its list of keys is empty” in Section 1.1 "P4 Language Version Applicability" is addressed and removed.
This issue is related to the following change made from v1.2.3 to v1.2.4 of the P4_16 language specification:
- Clarified behavior of table with no key property, or if its list of keys is empty (Section 14.2.1.1).
In the following paragraph, the emphasized text was added in version 1.2.4 of the language spec:
If a table has no key property, or if the value of its key property is the empty tuple, i.e. key = {}, then it contains no look-up table, just a default action—i.e., the associated lookup table is always the empty map.
(see https://p4.org/p4-spec/docs/P4-16-v1.2.4.html#sec-summary-of-changes-made-in-version-124 for the item in context of the full list of changes, but there are separate Github issues for each that might impact the P4Runtime API specification).
I believe this is only a clarification of what existing implementations did, but good to discuss in API work group to make sure. At least BMv2 and/or p4lang/PI may have a bug in this area, according to p4lang/behavioral-model#1208