Data-plane follow-ups & investigations (umbrella) #11
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#11
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?
Smaller deferrals / follow-ups / things-to-investigate accumulated across the throughput pass, feedback+ARQ, and io_uring Phase A milestones. Each is bounded; none blocks current work.
Correctness / robustness
object_idbinding (M5/M6 carry-forward).object_id(u16) andobject_sizeare attacker-forgeable on the wire; a forgedobject_idcan LRU-evict a live object in the reassembler. Bind them to authenticated peer/epoch context. Also: u16 wraps every 65536 objects (currently unreachable within the bounded retx/reassembler windows, but relevant if rates rise or windows grow).lossdetect.rs). The gap model reports fully-absent counters and, since PR #4, seen-but-undecoded counters too — but the seen-but-undecoded suppression (resolved_set) is best-effort under extreme reordering (evicted-far-above-watermark → a benign spurious NACK the sender drops). Exact for the single-symbol zero-repair case. Revisit if heavy-loss multi-symbol accuracy matters.FlowParams.deadlineis only partially honored (LRU-count eviction dominates). Honor per-class deadlines for reassembler eviction + ARQ eligibility.Performance / cleanup
drain_tunto_vec()clone (yip-io/poll.rs, Phase A): clones the egress scratch to drop the&mut DataPlaneborrow before sending. Negligible now; a candidate to eliminate in the io_uring pass (#7) by splitting the borrow.Anti-DPI hooks still live in the data plane (feed sub-project #3)
PacketTypeprefix (Data=2/Control=3/handshake) + fixed handshake prefixes — a DPI signature. Fold into keyed header-protection.conn_tag= linkability signature — rotate per epoch (tied to rekey, #9).Broader roadmap (each a future sub-project, own design→build)
Bench polish (optional)