Skip to content

PSA meeting minutes Sep 26, 2018

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

Attendees:

Andy Fingerhut, Han Wang, Calin Cascaval, Konstantin Weisz, Chris Sommers, Guolin Yang, James Coole

Agenda:

Target for v1.1 PSA spec release is Nov 15.

Main issues to be addressed are

  • fine-tuning a few things to align with ongoing P4Runtime API work
  • additions of capabilities available to P4 programmers writing code for PSA.

Spec changes that have had some work done on them, and need a little work to finish:

Cloning packets to multiple output ports

Add PSA mechanism to enable implementation of ECN marking (open issue section A.3)

  • https://github.com/p4lang/p4-spec/issues/497
  • solutions:
    • define md in egress (1-bit field) to mark
    • implement the TM scheduling proposal
  • approach
    • put in the bit now and leave the full solution with the TM pifo? AI:
    • Konne to take a look and see if it's important for Google
    • Calin to follow up with JK

Table annotation for 'guaranteed size' AI: Konne to open an PR

Add things to PSA needed for a full INT data plane implementation (open issue section A.4)

  • https://github.com/p4lang/p4-spec/issues/510
  • discussion:
    • egress port TX link utilization, queue occupancy, queue congestion status
    • queue congestion status covers ECN marking
    • use registers to implement this -- provide a reference impl with no changes to PSA
  • decision: we'll punt on this for after v1.1

Define size for action selectors and interaction with direct counters and meters (open issue section A.2)

  • decision: punt
    • action selectors pretty complex and not yet used enough to converge on a design today

Github issues:

Consider removing control plane API portions of PSA spec? discussion:

  • the main use would be for implementers to know what to expect as an API AI: AndyF to consider removing them

hash algorithms and HashAlgorithm in the PSA AI: Calin to talk to Chris about a spec PR

PSA: 3-argument get_hash method AI: Owner?

PSA Consider creating new extern for selecting small set of keys from large set of keys discussion:

  • P4: restrict the control plane configurability -- use an extern
  • if we allow full configurability, then we could fully punt to P4 runtime AI: Owner?

PSA: Using virtual functions to specify action chosen in action_selector Related issue: https://github.com/p4lang/p4c/issues/1175 AI:

  • the functions are already implemened in the compiler, but not committed. Check the P4-16 spec whether they are already there.
  • Calin to bring up with Mihai/Antonin about finalizing the compiler and spec
  • then we'll see what's left for PSA to do

direct mapped (counters and meters) state when entries are added and removed AI: AndyF to see if it's already covered and decide whether to add a statement on the potential loss of last counter values when table/entry is removed.

Create dedicated error handling section AI: error handling is pretty clean now. If we get too many questions, we'll revisit the need.

Digest format

  • annotation that shows in the p4info file (similar to versioning, type sizes).
Clone this wiki locally