-
Notifications
You must be signed in to change notification settings - Fork 80
LDWG meeting minutes: Oct 23, 2017
Nate Foster edited this page Oct 26, 2017
·
1 revision
Attendees: Nate Foster (Cornell), Andy Fingerhut (Cisco), Chris Sommers (IXIA), Kingshuk Mandal (IXIA), Cole Schlesinger, Milad Sharif, Calin Cascaval (Barefoot), Mihai Budiu (Vmware), Andy Keep (Cisco), Joe Tardo (Broadcom)
First meeting since spring. Goal is to discuss accumulated issues and prioritize proposals for new language features.
-
- reading undefined values
- for portability we would like to see whether there is some pattern that we can agree on
- AI @jafingerhut to generate PR that clarifies behavior
- reading undefined values
-
- header stacks: do P4_X allow holes or not?
- Goal: make sure that P4_16 and bmv2 are in sync, and ensure that the translation from P4_14 is correct
- AI @jnfoster to generate PR that harmonizes specifications
-
Issues 294 and Issue 331
- do we allow compile time constants into expressions?
- AI: @jnfoster to convert into community project
-
- instantiation context and constructor params
- matrix:
- calling parsers from controls (and reverse) is not well defined due to the nature of operations (and restrictions).
- externs have a clear interface for the data plane
- tables can be wrapped into controls and passed around
- tables in parsers - - we could consider it
- externs instantiated in packages?
- package bodies
- AI @ccascaval to re-merge
-
P4-14 fixes
- Ali Kheradmand at UIUC has been modeling P4_14 in K
- Mihai: what happens to legacy code if the semantics changes?
- owners of legacy code should push back
- AI @jnfoster to encourage Ali finish these as PRs and then tackle P4_16
-
- bit vector structs within headers or structs
- there is a PR
- ordering constraints depending on how it is used
- AI @akeep to organize a small subgroup to explore the notion of serializable types with @jafingerhut, @mbudiu-vmware, @sethfowler
-
- issues: syntax ({} vs. []), holes, defaults, semantics of empty tuple
-
setValid
andsetInvalid
operations - proposed extern:
void zero<T>(out T v)
? - AI @jnfoster to convert into community project
-
- calling actions from parsers
- function definition: trivial to implement in the compiler (since basically already implemented)
- virtual functions: allowed only in the body of the extern
- named params
- AI @milad14000 to organize a small subgroup
-
- field list: function that takes a struct and returns a tuple.
- not a field reference.
- AI @ccascaval to organize a small subgroup
-
- operations on varbits
- AI @jnfoster to punt to later
- It's time to thinking about new features for next language version
- Resolved to meet about once a month for now