[P4-design] meeting tomorrow

Nate Foster jnfoster at cs.cornell.edu
Mon May 8 20:34:49 EDT 2017


Below are detailed notes from today's meeting (thanks Cole!)

-N

-------------------------------------------------------------------------------
May 8th, 2017

Deadlines:

 - All PRs by AOE Wednesday.
 - Read through spec and make changes by AOE Thursday.
 - Release on Monday.

Agenda:

-- Status and roadmap

Proposal (Nate): p4.org/spec is full history of ALL specs.  Has pointer to
autogenerated, "live" (most recent) spec.

Proposal (Nate): Monday happy hour to celebrate P4_16 release at Barefoot at
4:30pm.

-- [Andy] Scope of specification
https://github.com/p4lang/p4-spec/issues/137

AI: Andy to remove the two bulleted items.

-- [Cole] Control literals
Issue: https://github.com/p4lang/p4-spec/issues/129
Pull request: https://github.com/p4lang/p4-spec/issues/171

 - We've adopted Mihai's proposal:

    c.apply(...)

 - This is reflected in the specification and the implementation

AI: Cole to add a paragraph to the spec

-- [Cole] Naming
Issue: https://github.com/p4lang/p4-spec/issues/138
Pull request: https://github.com/p4lang/p4-spec/issues/175

 - We've adopted a solution that:

    o rejects programs that don't have name annotations for ambiguous keys.
    o adds support for @globalname and @hidden annotations

 - Implementation status: @globalname is not implemented yet.

AI: Cole to file an issue with p4c for @globalname
AI: Cole to follow up with Antonin/Seth on PI support

-- [Nate] Action names
Issue: https://github.com/p4lang/p4-spec/issues/76

Action names cannot appear more than once, even with different params.
Kind of
restrictive, to be revisited in the future.

AI: Nothing!  Leave as is.

-- [Vladimir] Default action
Issue: https://github.com/p4lang/p4-spec/issues/160

AI: Nate to amend the spec to adopt language from P4_14, along the lines of
"If
a table does not match and no default action is specified, the table has no
effect."

AI: Andy to extend 12.2.1.5 to mention that default table semantics may be
overridden by target-specific table attributes (properties).

    - This will allow the "default default" behavior to be overridden from
"no
      effect" to something target specific, as Vladimir requested.

-- [Nate] Header unions
Issue: https://github.com/p4lang/p4-spec/issues/139
Pull request: https://github.com/p4lang/p4-spec/pull/166

Details settled upon:

 - Name is "header_union".
 - Added "isValid()" top level method.
 - Removed "overwriting_header" exception from parser pseudo code.

Implementation status:

 - Antonin landed changes in the backend.
 - Need midend features, but these are unlikely to be added before the
release.

AI: Nate to open issue on p4c for u.isValid().

AI: Nate to add another example higher up in the spec, to address Mihai's
feedback (but leave the current example where it is).

AI: Andy to review entry in type table.

-- [Calin] Constant table priorities
Issue: https://github.com/p4lang/p4-spec/issues/168

Mixing priorities (some there, some not) makes code less readable.  Because
these tables are all constant, it's not strictly necessary to be able to
specify priorities.

AI: Calin to remove @priority from the spec.
AI: Andy to double-check what's in the spec.

-- Structs/tuples as headers
Issue: https://github.com/p4lang/p4-spec/issues/170

Mihai issued a PR against the spec allowing assigning structs/tuples to
headers
in initialization.  This makes the header valid and assigns the values of
the
fields.

AI: Nate to review PR.

AI: Vladimir to open a "future enhancement" tagged issue with empty list
initializers.

-- Casts
Issue: https://github.com/p4lang/p4-spec/issues/177

Do we allow headers/structs to be used in casts?

No.  We will follow C and disallow casts of non base types.  This will
additionally disallow Case 2 of Nate's list of examples:

```
apply {
  h_t h1 = p.h;                 // ok
  h_t h2 = (h_t) p.h;           // disallowed
  h_t h3 = { p.h.f };           // special case
  h_t h4 = (h_t) { p.h.f };     // disallowed
}
```

AI: Mihai to restrict casts to base types (and open an issue on p4c).

AI: Nate to look for opportunities to summarize "exceptional" design
decisions,
like:

    - Assigning tuples to headers
    - Applying control/parser types


On Mon, May 8, 2017 at 10:49 AM, Nate Foster <jnfoster at cs.cornell.edu>
wrote:

> Here's a detailed agenda for today's meeting, annotated with estimated
> time and discussion leaders.
>
> See you at 1:30pm!
>
> -N
>
> * [10 min, Nate] Status and roadmap
>
> * [5 min, Andy] Scope of the specification
> https://github.com/p4lang/p4-spec/issues/137
>
> * [5 min, Cole] Constructor literals
> Issue: https://github.com/p4lang/p4-spec/issues/129
> Pull request: https://github.com/p4lang/p4-spec/issues/171
>
> * [10 min, Cole] Naming
> Issue: https://github.com/p4lang/p4-spec/issues/138
> Pull request: https://github.com/p4lang/p4-spec/issues/175
>
> * [5 min, Nate] Action Names
> Issue: https://github.com/p4lang/p4-spec/issues/76
>
> * [5 min, Vladimir] Default action
> Issue: https://github.com/p4lang/p4-spec/issues/160
>
> * [5 min, Nate] Header unions
> Issue: https://github.com/p4lang/p4-spec/issues/139
> Pull request: https://github.com/p4lang/p4-spec/pull/166
>
> * [5 min, Calin] Constant table priorities
> Issue: https://github.com/p4lang/p4-spec/issues/168
>
> * [10 min, Mihai] Structs/tuples as headers
> Issue: https://github.com/p4lang/p4-spec/issues/170
>
> * [5 min, Nate] Casts
> Issue: https://github.com/p4lang/p4-spec/issues/177
>
> * [25 min] Open
>
> On Sun, May 7, 2017 at 5:09 PM, Nate Foster <jnfoster at cs.cornell.edu>
> wrote:
>
>> We have our last meeting tomorrow from 1:30pm-3:00pm PT in Gates 260.
>>
>> By default, the agenda is to run through all the work items identified in
>> the minutes from Calin last time. Please let me know if you have any new
>> items to propose. I'll circulate a detailed agenda tomorrow morning.
>>
>> Hope to see you there!
>>
>> -N
>>
>> Call-in details:
>> * By computer: https://cornell.zoom.us/j/959432658
>> * By phone: +1 646 558 8656 <(646)%20558-8656> (US Toll) or +1 408 638
>> 0968 <(408)%20638-0968> (US Toll). The Meeting ID is 959 432 658. International
>> numbers are available at https://cornell.zoom.us/zoo
>> mconference?m=p414IDyY2yeauZygZLycHH0Vnc0wYEFg
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.p4.org/pipermail/p4-design_lists.p4.org/attachments/20170508/0473de91/attachment-0002.html>


More information about the P4-design mailing list