Skip to content

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.

Accumulated Issues

  • Issue 273

    • 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
  • Issue 284

    • 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
  • Issue 364

    • 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
  • Issue 342

    • 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
  • Issue 198 and Issue 341

    • issues: syntax ({} vs. []), holes, defaults, semantics of empty tuple
    • setValid and setInvalid operations
    • proposed extern: void zero<T>(out T v)?
    • AI @jnfoster to convert into community project
  • Issue 151 and Issue 76

    • 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
  • Issue 51

    • field list: function that takes a struct and returns a tuple.
    • not a field reference.
    • AI @ccascaval to organize a small subgroup
  • Issue 264

    • operations on varbits
    • AI @jnfoster to punt to later

Next Version

  • It's time to thinking about new features for next language version

Future meetings

  • Resolved to meet about once a month for now
Clone this wiki locally