[P4-design] 4/24 draft agenda
cascaval at barefootnetworks.com
Mon Apr 24 18:03:06 EDT 2017
Meeting notes for P4 lang design meeting 4/24
Making the p4-spec repo public
- AI (Nate): add the methodology of accepting changes to a README
- PR for the spec submitted
- native union support coming into BMv2 by the end of the week
AI (Nate): remove error as part of packet_in and remove from spec
AI (Nate): add top level isValid for the union
AI (Nate): add empty unions to the compiler (keep in the spec)
Control and Parser literals
- PR for the spec submitted
- compiler pass in the works
AI (Cole): multiple invocations of apply vs. creating multiple instances? How does this work across scopes? Are all these global instances?
- these need to be clearly articulated in the spec
- desugaring introduces a new globally unique name
Andy: spec how would one create a second instance of the control?
- use the regular declaration with constructor parameters (using '()').
- BFN proposal accepted
AI (AndyF): open issues against spec and compiler to implement
- P4_14 clearly defines what happens (pg 57)
AI (Vladimir): we need to define what happens in P4_16. Use the wording from P4_14 and specify that nothing happens to the packet (whether NoAction or some other (hidden op?) in the compiler implementation)
- Future: should we have a table type that enforces defining default_action always?
Types supported by emit
- should support any type?
- what happens with padding to 8 bits?
AI: leave for a future spec release
- what can the compiler do with tables and controls that are deemed dead-code but can be accessed by the control plane.
- one option is to delete them, and if they are accessed, these should be handled at a different level
- should they be made programmatically available to the control plane? Transparently handling calls to removed resources?
AI: compilers may optionally remove dead code and the control plane spec should deal with the behavior.
Assigning list to header
- 3 choices: disallow; assign to fields and header stays invalid; assign and header becomes valid
- we chose the 3rd option
AI (Mihai): a list expression assigned to a header generates a valid header
- wish: describe the entire front end in the specification
AI (Nate): low priority for this release. Likely leave for future spec release 😃
- AI (AndyF) - revise the spec
> On Apr 24, 2017, at 13:24, Nate Foster <jnfoster at cs.cornell.edu> wrote:
> We are still waiting to gain access to the room at Gates so the start of the meeting may be delayed by a few minutes.
> On Mon, Apr 24, 2017 at 12:07 PM Nate Foster <jnfoster at cs.cornell.edu <mailto:jnfoster at cs.cornell.edu>> wrote:
> Other than rearranging the order of some of the minor items, we can consider this final.
> See you in a little over an hour!
> On Mon, Apr 24, 2017 at 12:07 AM, Nate Foster <jnfoster at cs.cornell.edu <mailto:jnfoster at cs.cornell.edu>> wrote:
> ...we interrupt this broadcast to remind you that if you haven't registered for the P4 Workshop already, you should do so now! Registration site: https://www.eventbrite.com/e/p4-workshop-2017-tickets-33286915059 <https://www.eventbrite.com/e/p4-workshop-2017-tickets-33286915059> Early-bird pricing ends on Friday.
> We meet again tomorrow from 1:30pm-3:00pm PT in Gates 260. Once again, we have a lot to discuss so I plan to start the meeting right at 1:30pm.
> A draft agenda is below. Please let me know if you have anything you'd like to add to it. I'll circulate a final version tomorrow morning.
> * Status and Roadmap [5 minutes]
> * Header Unions [15 minutes]
> https://github.com/p4lang/p4-spec/issues/139 <https://github.com/p4lang/p4-spec/issues/139>
> https://github.com/p4lang/p4-spec/pull/166 <https://github.com/p4lang/p4-spec/pull/166>
> * Control and Parser literals [15 minutes]
> https://github.com/p4lang/p4-spec/issues/150 <https://github.com/p4lang/p4-spec/issues/150>
> https://github.com/p4lang/p4-spec/pull/171 <https://github.com/p4lang/p4-spec/pull/171>
> * Implicit casts [15 minutes]
> https://github.com/p4lang/p4-spec/issues/163 <https://github.com/p4lang/p4-spec/issues/163>
> * Small issues [30 minutes]
> - Mandatory default actions
> https://github.com/p4lang/p4-spec/issues/160 <https://github.com/p4lang/p4-spec/issues/160>
> https://github.com/p4lang/p4-spec/pull/165 <https://github.com/p4lang/p4-spec/pull/165>
> - Types supported by emit
> https://github.com/p4lang/p4-spec/issues/161 <https://github.com/p4lang/p4-spec/issues/161>
> - Priorities in constant tables
> https://github.com/p4lang/p4-spec/issues/168 <https://github.com/p4lang/p4-spec/issues/168>
> - Unused code
> https://github.com/p4lang/p4-spec/issues/169 <https://github.com/p4lang/p4-spec/issues/169>
> - Assigning list to header
> https://github.com/p4lang/p4-spec/issues/170 <https://github.com/p4lang/p4-spec/issues/170>
> - Syntax
> https://github.com/p4lang/p4-spec/issues/172 <https://github.com/p4lang/p4-spec/issues/172>
> * P4_14 v1.0.4 [5 minutes]
> https://github.com/p4lang/p4-spec/pull/126 <https://github.com/p4lang/p4-spec/pull/126>
> * Other business [5 minutes]
> Call-in details:
> * By computer: https://cornell.zoom.us/j/959432658 <https://cornell.zoom.us/j/959432658>
> * By phone: +1 646 558 8656 <tel:(646)%20558-8656> (US Toll) or +1 408 638 0968 <tel:(408)%20638-0968> (US Toll). The Meeting ID is 959 432 658. International numbers are available at https://cornell.zoom.us/zoomconference?m=p414IDyY2yeauZygZLycHH0Vnc0wYEFg <https://cornell.zoom.us/zoomconference?m=p414IDyY2yeauZygZLycHH0Vnc0wYEFg>
> P4-design mailing list
> P4-design at lists.p4.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the P4-design