GSO for the ARQ-retransmit egress path (currently non-GSO) #30
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
femboy/yip#30
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Follow-up to #24 (FEC-safe GSO via fate tags). GSO batching was wired into the TUN-egress path only (
handle_dispatch_tun→ fate-taggedpending_gso). The ARQ-retransmit egress (handle_dispatch_udp,DispatchOut::Udp/Both) still sends per-datagram (allow_gso=false) because that batch already mixes symbols from multiple different objects (the retx buffer) and pre-dates the fate-tag mechanism.Apply the same
EgressDatagram { fate, bytes }fate-tagging to the retransmit path so retx sends can coalesce safely (≤1 datagram per fate per skb). Low priority — retx volume is small — but flagged so the fate-tag invariant is applied uniformly if/when it matters. See the "Risks" table indocs/superpowers/specs/2026-07-02-uring-gso-fate-tags-design.md.