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

Generic XDP coexistence with NBL offloads #46

Open
mtfriesen opened this issue Jul 13, 2022 · 0 comments
Open

Generic XDP coexistence with NBL offloads #46

mtfriesen opened this issue Jul 13, 2022 · 0 comments
Labels
feature request New feature or request offloads Hardware and software offloads
Milestone

Comments

@mtfriesen
Copy link
Contributor

mtfriesen commented Jul 13, 2022

Generic XDP needs to be compatible with:

RSC offload - send OID to disable when non-RSC-aware programs/XSKs are attached
Checksum offload - fix up checksum header fields when *ChecksumValueInvalid bits are set in OOB.

Plan for RSC offload:

  1. Add minimal RSC -> LSO direct conversion - assume LSO is directly convertible
    a. NBL+NB pool
    b. clear IPv4 csum and set TCP pseudoheader csum
    c. add functional test

  2. Add LSO configuration awareness
    a. maintain current offload state
    b. drop RSC packets > LSO max or < min segments
    c. add drop statistics
    d. add functional test

  3. Add RSC -> LSO partial segmentation
    a. copy L2-L4 headers into preallocated NBL
    b. copy data partial MDL into preallocated partial MDL
    c. fix up TCP flags and seq numbers
    d. read the LSO spec - what else do we need?
    e. add SW segmentation statistics
    f. add functional test

  4. spinxsk test
    a. produce random RSC packets

  5. perf test
    a. onboard to netperf

@mtfriesen mtfriesen added the feature request New feature or request label Jul 13, 2022
@mtfriesen mtfriesen added this to the Backlog milestone Jul 13, 2022
@nibanks nibanks modified the milestones: Backlog, Release 1.0 Apr 13, 2023
@mtfriesen mtfriesen added the offloads Hardware and software offloads label May 8, 2023
@mtfriesen mtfriesen modified the milestones: Release 1.0, Release 1.1 Jul 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request New feature or request offloads Hardware and software offloads
Projects
None yet
Development

No branches or pull requests

2 participants