Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[QEO] connection status types #63

Open
mtfriesen opened this issue May 8, 2023 · 3 comments
Open

[QEO] connection status types #63

mtfriesen opened this issue May 8, 2023 · 3 comments
Labels
QEO Related to QUIC encryption/decryption offload

Comments

@mtfriesen
Copy link
Contributor

Should we continue to use the NDIS_STATUS data type to report the result of each connection offload attempt? There are two major downsides:

  1. If this project is undocked, it means we need to integrate any new failure statuses/reasons into both NDIS and NT header files.
  2. NDIS status types, in particular, require an egregious number of transformations to be reported to the standard user mode error type: NDIS_STATUS -> NTSTATUS -> WIN32 error -> HRESULT. There is bound to be loss of fidelity.

If we define our own failure reasons, it will simplify the end-to-end control path flow and perhaps simplify error-handling, too.

@anrossi
Copy link
Contributor

anrossi commented May 8, 2023

That's a good point. If we define our own errors, I think we should try to line them up so that the lower two bytes are easily convertible to HRESULT or WINERROR, maybe they're just the same as the standard WIN32 errors and the higher bytes can be used to define whether it's a standard error, or a hardware-specific error?

@mtfriesen
Copy link
Contributor Author

If we define our own errors for per-connection status, I'd argue we shouldn't use HRESULTs in those APIs, and treat them as a "failure reason" rather than an "error". We should make an effort to avoid using reserved bits that would make it difficult for them to reuse with HRESULTs, for sure.

@anrossi
Copy link
Contributor

anrossi commented May 8, 2023

ok, I am willing to hear further arguments, but if nothing comes in by tomorrow, let's go with defining our own errors. This sounds like a better design.

@nibanks nibanks added the QEO Related to QUIC encryption/decryption offload label May 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
QEO Related to QUIC encryption/decryption offload
Projects
None yet
Development

No branches or pull requests

3 participants