[P4-design] Rough notes from 11/22 meeting

Nate Foster jnfoster at cs.cornell.edu
Tue Nov 22 23:17:41 EST 2016


[Most of these were taken by Calin. I edited lightly and added notes on the
issues we discussed after he had to leave.]

For the issues we "postpone" we want to develop prototype implementations
and iterate through options, not declare dead.

Issues:
#18 - unions
    - E: do we really need these in a DSL? We should discuss over a
concrete proposal and decide whether the additional complexity and the
benefits from stronger types are warranted.
#58 - switch vs. select
    - E: is this going to be hard to change once we have a body of
programs? Conservative extensions
    - stmt vs. expression
#59 has 2 separate issues
    - tuples added to the spec
    - header stacks non-contiguous
        - have a PR with the following changes: in parser uses stacks, in
control use random access
        - Q: do we still need push and pop in control?
        - proposal: add empty/full everywhere and push/pop to control (?)
#60 undefined behaviors
    - accessing invalid headers
        - compiler gives an error if it can't prove safety and the header
is not explicitly marked as unsafe (pragma)
    - global compiler option to disable safety
To resolve:
    - what checks should we mandate the compiler do
    - precisely specify which annotations will be supported
    - safety is desirable: appendix that summarizes the undefined behaviors
(as per C spec)
    - analyze switch.p4 for invalid accesses
#65 parser value sets
    - adding a set<T> type opens a whole set of other issues
    - side effects when using set.members() as select labels
    - cost model for ValueSet
    - discussion: pass value set as an extern parameter to the parser
    - we'll start with Option 1 and if complaints, we will need to do the
work for Option 2
    - option 3: a first-class object for ValueSet
#76 more explicit control plane arguments
  - we agreed to add an extra set of parentheses to indicate action data,
with
    syntactic sugar to allow a single set of braces when convenient.
  - discussion of whether we can allow multiple instances of the same
action (function)
  - discussion of whether default_action must be an element of the actions
list
  - E proposed named parameters, which the group likes for a long-term
solutino
  - proposal to revert to old syntax (one set of parentheses), clarify
partial application rules, and possibly relax condition on multiple
instances / default actions
  - action (ha!) items: Edwin, Nate, Mihai to revise text in spec document
until consensus reached.

Cheers,
-N
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.p4.org/pipermail/p4-design_lists.p4.org/attachments/20161122/0b4b64f4/attachment-0002.html>


More information about the P4-design mailing list