Skip to content

LDWG meeting minutes, August 4, 2019

Nate Foster edited this page Aug 5, 2019 · 2 revisions

Attendees

Mihai Budiu (VMware) Calin Cascaval (Barefoot) Chris Dodd (Barefoot) Andy Fingerhut (Cisco) Nate Foster (Cornell) Vladimir Gurevich (Barefoot) Chris Sommers (Keysight) Han Wang (Barefoot)

Logistics

  • We would like to move the meeting time forward to accommodate participants (e.g., in Europe and Africa).

  • We ran a scheduling poll and it seems 11am-12:30 PT will work for most people. We agreed to shift to that meeting time in the future.

  • The first Monday in September is a holiday in the United States. We'll move our meeting from September 2nd to September 9th.

  • We would like to release v1.2.0 of the language specification soon. We will allow design discussions to continue through September's meeting, then we will freeze features and consolidate the release shortly thereafter.

Conversions for Serializable Enums

  • Issue: https://github.com/p4lang/p4-spec/issue/

  • Pull Request: https://github.com/p4-spec/pull/

  • The proposal seeks to eliminate casts between serializable enums and their underlying bit type.

  • As written, the current proposal does not seek to make the types equivalent. The automatic coversion would only be applied in a certain direction, or possibly in certain kinds of expressions. (But perhaps for the sake of keeping the design simple, the types should be equivalent.)

  • Action Item:

    • @vgurevich to write up a pull request on the language specification
    • @jnfoster to discuss with P4 API WG about control-plane rammifications

String Types and Logging

  • Issue: https://github.com/p4lang/p4c/pull/2010

  • The proposal seeks to add a string type to the P4 language.

  • Values of type string have no operations on them in the language itself, so this is mostly useful for things like logging (as shown in the pull request).

  • Note that no operations means assignment, equality, disequality, etc.

  • There was some discussion of whether this is useful -- many models already provide logging.

  • Could we prove an erasure theorem showing that the strings are not needed in the data plane? For a sufficiently-specified architecture, perhaps.

  • A potential use-case is to pass strings through to the control plane (though, if the strings only come from annotations, this proposal may be overkill.)

  • Some other packet-processing languages have a string type and allow logging.

  • Action Item: @mbudiu-vmw will write up a pull request the spec for the string type. Folks should think about this, comment on that pull request, and we will return to this in the future.

Structure Initializers

Discussion

Clone this wiki locally