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

Tunneled LSO/CSO Support #614

Draft
wants to merge 6 commits into
base: master
Choose a base branch
from
Draft

Tunneled LSO/CSO Support #614

wants to merge 6 commits into from

Conversation

FelixMcFelix
Copy link
Collaborator

@FelixMcFelix FelixMcFelix commented Nov 21, 2024

This PR makes use of in-progress illumos bits to detect common offloads between underlay devices, and readvertises LSO/CSO capabilities on opte ports if both underlay devices advertise Geneve-aware offloads.

Ultimately, we have control over the MSS we advertise to the NIC for LSO. The useful part of this is that when we know we are using a purely rack-internal path, we can elevate the MSS up to MTU - overheads. Given that the use of a larger MTU vastly reduces inbound packet rate on the receive half (the main bottleneck today), this gets us to around 8Gbps iPerf for rack-local traffic (and 17Gbps for two or more parallel streams).

  • Cleanup.
  • Finalise illumos interfaces.
  • Manually fill checksums in guest loopback cases.
  • Have viona perform LSO if guests do not advertise/expect LRO.

Accidentally over-counted by the ETH header, and illumos is sending down
chunks of size n×MSS. This would split one TSO packet into three (versus
baseline two).
@FelixMcFelix FelixMcFelix added this to the 13 milestone Nov 21, 2024
@FelixMcFelix FelixMcFelix self-assigned this Nov 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant