-
Notifications
You must be signed in to change notification settings - Fork 80
LDWG meeting minutes, March 2, 2020
- Antonin Bas (VMware)
- Gordon Brebner (Xilinx)
- Mihai Budiu (VMware)
- Andy Fingerhut (Cisco)
- Vladimir Gurevich (Barefoot)
- Marko Stanojlovic (RT-RK)
- Nate Foster (Cornell)
- Steffen Smolka (Google)
- Chris Sommers (Keysight)
- Han Wang (Barefoot)
- Proposal allows annotations to have certain generic kinds of structure -- e.g., key-value lists.
- A lot of discussion on the technical issues has taken place already and consensus has largely been reached.
-
The pull request requires expressions to be compile-time known values.
-
Q: why not fixed-width integers? A: this is simple and what P4Runtime needs.
-
Q: Do we need a new IR node for this? If so, then every tool that uses the p4c IR needs to handle it. We'll add a struct to the IR node to indicate whether it's unstructured, list, or key-value.
-
Q: are annotations tied to particular objects or can they be hanging? A: they must still be attached to a declaration.
-
@mbudiu-vmw will do his best to implement this feature in the upcoming week.
-
@mbudiu-vmw will add an item to the Wiki to discuss pragmas at a future meeting.
-
We'll merge at a future meeting.
- There was a bug in the compiler due to such shifts. This proposal forbids them.
- There is a pull request on the specification and compiler
- None.
- Folks should take a look. This seems like an easy bug fix.
- This proposal seeks to add structure values as expressions.
- There is a pull request and an implemention in the compiler.
- We discussed cases where the compiler cannot infer the type:
- Passing a structure expression to a generic function
- Projecting a field from a structure expression
-
We resolved to change the implementation to elimiante casts.
-
Then we should be free to merge the pull request.
- This proposal seeks to add default initializers for various types of P4 values
- There is a pull request on the language specification
-
Should the default for a header be valid or invalid?
-
If invalid, do we have a way to initialize a header as valid using the default values for the fields?
-
There is a related issue for header stacks too.
-
Note: there is a difference between default values and uninitialized values.
- @marko-stanoj to take the token on this issue to drive it toward a proposal
- There is a proposal to add a simple module system to P4 to replace use of the C preprocessor at least.
- https://github.com/p4lang/p4-spec/issues/628
- https://github.com/p4lang/p4-spec/pull/798
- https://github.com/p4lang/p4-spec/issues/718
- We have a simple proposal, possibly with some holes, and some design documents with additional discussion, linked from the Wiki.
- We reviewed @jafingerhut's questions in the linked Google document.
- Folks should comment on the pull request
-
We will definitely meet on April 6th.
-
@jnfoster and @mbudiu-vmw may announce a mid-March meeting in about a week