microsoft / net-offloads

Specs for new networking hardware offloads.
MIT License
27 stars 3 forks source link

HW capability discovery? #33

Closed stevedoyle closed 2 years ago

stevedoyle commented 2 years ago

The TCPIP section describes a software fallback case where the app has more connections than the limited memory available for HW offload. How does TPCIP detect / discover the number of offloaded connections that a NIC can support?

stevedoyle commented 2 years ago

Extending the discovery of HW capabilities, should the interface support discovery of other supported HW capabilities, e.g. max connection ID supported, QUIC version supported?

nibanks commented 2 years ago

How does TPCIP detect / discover the number of offloaded connections that a NIC can support?

26 would introduce a per offloaded connection status, that would allow for the OS to dynamically discover if the HW can or can't support any more connections.

should the interface support discovery of other supported HW capabilities, e.g. max connection ID supported, QUIC version supported?

For CID, we don't have control over the peer's CIDs, so we cannot restrict any size beyond what the protocol already does. As far as version, we've chosen to remove it (for now) since all versions of QUIC short header packets are encrypted the same way. The HW doesn't need to know if it's v1 or v2. Since we don't expect this area to be one that changes any time soon, we've decided that iff it changes in the future, we can add a V2 version of the interface.

nibanks commented 2 years ago

Resolving this as I don't think we need to make any specific changes. Feel free to reopen if you think otherwise!