Skip to content

PSA Meeting Minutes Oct 18, 2017

Calin Cascaval edited this page Oct 19, 2017 · 1 revision

Attendees:

  • AndyF, Tom, Han, Samar, Calin
  • online: Vladimir, AndyK, James Coole, Antonin, Joe Tardo

Agenda

Discussion

  • 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

Digests

  • will follow from the clone example

Clone

  • example: mirror on drop
    • uses metadata: clone,clone_portand drop. 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
  • 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 corresponding in param that has these members valid only when the packet has clones.
  • AI: Han to work on a proposal

Make queue lengths readable

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

Default metadata values for all packet types

  • 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
Clone this wiki locally