-
Notifications
You must be signed in to change notification settings - Fork 80
PSA Meeting Minutes Oct 18, 2017
Calin Cascaval edited this page Oct 19, 2017
·
1 revision
- AndyF, Tom, Han, Samar, Calin
- online: Vladimir, AndyK, James Coole, Antonin, Joe Tardo
- AIs from last time (30 min):
- Action profiles (Samar) - https://github.com/p4lang/p4-spec/pull/410
- Checksum (Nate) - https://github.com/p4lang/p4-spec/pull/421 - merged without init method
- Digest (Han) - https://github.com/p4lang/p4-spec/pull/419 -- need example(s)
- Clone, resubmit, recirculate (Han) -- need more examplesd
- Make queue lengths readable (15 min) https://github.com/p4lang/p4-spec/issues/335
- Default metadata values for all packet types (20 min) -- share spreadsheet?
- Bridged metadata (20 min)
Action profiles (Samar) https://github.com/p4lang/p4-spec/pull/410
- use of selectors as virtual functions require language support.
- action selector
- Vlad: all members in an action group can only have the same action? different action data, but same action
- Antonin: in P4_16 the actions are properties of the table implementation
- P4runtime does not support changing the hash algo, or the fields used in the selector
- tables sharing the same action selector implies that they use the match keys for selector (and the same order) AI: Samar to add this constraint
- definition of the hash algorithm is part of the selector definition
- Action selectors will be revisited to make them easier to use with potential language chages
- AI: Samar to update the text to restrict to one action for all members in the group
- AI: Vlad review the current example and propose more examples
- AI: Han to add a virtual function example
Checksums: https://github.com/p4lang/p4-spec/pull/440
- https://github.com/p4lang/p4-spec/pull/421 merged
- 440 needs a review (will ask Seth)
- will follow from the clone example
- example: mirror on drop
- uses metadata:
clone
,clone_port
anddrop
. Separate reason in user metadata - programmer can identify cloned packets and she is in charge of parsing
- header tag may not be reordered, but the rest of the header may be optimized -- if properly annotated
- uses metadata:
- issues with the transitions in the example, because it was not parsing the rest of the packet AI: Han to fix
- Vlad:
clone_in
? Can we isolate the parsing for cloning from the rest of the packet parsing - AndyF/Tom: fields list for clone and autogenerate packing and parsing (just as for bridged metadata)
- issue: naming of these fields in the different controls -- use global names
- AndyK: weird to have headers that implicitly have wire order get reordered by the compiler
- serializabe data should preserve the order
- non-serializable -- compiler can do whatever optimizations it can
- enforce the distinction and provide guidelines to the compiler on what's allowed
- A particular implementation will have to mark where the
clone_in
is in the packet (start, len) - Tom: each pipeline will have to have an
out
param that is a union of all clone/recirc types, and a correspondingin
param that has these members valid only when the packet has clones. - AI: Han to work on a proposal
https://github.com/p4lang/p4-spec/issues/335
- Egress-only has access to queues after the processing
- If available in ingress, useful for lag
- units: packets, bytes, packets and bytes?
- can we support total bytes in the queue?
- that should be the goal -- sync up with the INT WG
- AI: review the INT spec and decide whether we have a matching specification or we just punt to INT
- most open questions related to clones
- truncation?
- type of clone e2i or i2i at the beginning of the parser?
- multicast replicated parser?
- AI: review the full spreadsheet by all members