Hi all, Ian proposed a radical new plaintext CID algorithm for for quic-lb. I already merged it into the draft alongside the current one, to make things clearer. See Section 4.2 of the draft <https://quicwg.org/load-balancers/draft-ietf-quic-load-balancers.html#name-ecmp-cid-algorithm>. I suspect this may not be the final result, but this is another one of those value judgments I'd like input on.
*TL;DR*: instead of assigning individual server IDs as a configuration step, load balancers assign them ad hoc and remember those assignments. Servers can observe their assignments from the CIDs they receive. *Tradeoffs*: The existing PCID design has precisely zero per-connection state at the load balancer. This design requires the load balancer to have a potentially very large table of SIDs mapped to servers. On the other hand, Ian's proposal completely eliminates the process of configuring the load balancer with a server ID mapping, and configuring each server separately with its SID. As a practical matter, Ian's proposal is also an easier transition path for Google's load balancers, and presumably others as well. Their implementation experience suggests that the memory load is manageable. As Ian’s design has per-connection state, it is less robust to the load balancer rebooting or handing off to a standby device. *So we have three options*: 1) Stick with PCID and ditch this. 2) Replace PCID with this proposal. 3) Have two standard unencrypted algorithms to capture the tradeoff -- I would prefer not to complicate things in this way unless there is real disagreement about how to resolve the tradeoffs. Thoughts? Thanks, Martin
