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

Split AF_XDP socket implementation from s2n-quic-xdp into its own project/crate #2403

Open
OliverGavin opened this issue Dec 6, 2024 · 0 comments
Labels
question Further information is requested size/large

Comments

@OliverGavin
Copy link
Contributor

OliverGavin commented Dec 6, 2024

Problem:

More of an opportunity than a problem :)

There are a limited number of options for Rust users who need an AF_XDP socket;

But then I see you have made https://crates.io/crates/s2n-quic-xdp which is actively maintained and seems to be attempting to create a safe interface. However, much of this crate is tangled with s2n needs so the lower level APIs are private and not yet documented. There would also be an opportunity to improve on those lower level APIs to make them a little more intuitive and safer.

Solution:

Create a new crate (could be later moved from this project) which offers a safe and general purpose AF_XDP socket implementation with documentation. Optional features to offer integration with Aya could also be considered.

  • Does this change what s2n-quic sends over the wire?
    no
  • Does this change any public APIs?
    yes

Requirements / Acceptance Criteria:

  • RFC links: Links to relevant RFC(s)
  • Related Issues: Link any relevant issues
  • Will the Usage Guide or other documentation need to be updated?
    • yes
  • Testing: How will this change be tested? Call out new integration tests, functional tests, or particularly interesting/important unit tests.
    • Existing tests should cover any regressions (assuming they exist). New tests would likely be needed for a general purpose release of the proposed crate.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested size/large
Projects
None yet
Development

No branches or pull requests

2 participants