patches: cut a frame at the end of its IP packet in the stream backend #15

Merged
steigr merged 1 commit from fix/stream-trim into main 2026-11-03 09:44:53 +00:00
Owner

Patch 0012. Captures of the passt segment showed guest frames longer than the IPv4 packet in them: a total length of 1032 in a 2259 byte frame, the rest the next bytes of the TCP stream (IRIX 6.5's ec0 or iris's TX descriptor read; the cause is not pinned down). The NAT backend reads the packet by its length field and never noticed; passt did, and ssh through it stalled or failed at its key exchange ('incomplete message', 'string is too large'). The stream backend now cuts a frame at the end of its IPv4/IPv6 packet. The series applies on IRIS_BASE; the new unit test passes (stop_does_not_wait_for_a_peer_that_never_reads fails here with and without the patch: it assumes a socket buffer that macOS lacks).

🤖 Generated with Claude Code

Patch 0012. Captures of the passt segment showed guest frames longer than the IPv4 packet in them: a total length of 1032 in a 2259 byte frame, the rest the next bytes of the TCP stream (IRIX 6.5's ec0 or iris's TX descriptor read; the cause is not pinned down). The NAT backend reads the packet by its length field and never noticed; passt did, and ssh through it stalled or failed at its key exchange ('incomplete message', 'string is too large'). The stream backend now cuts a frame at the end of its IPv4/IPv6 packet. The series applies on IRIS_BASE; the new unit test passes (stop_does_not_wait_for_a_peer_that_never_reads fails here with and without the patch: it assumes a socket buffer that macOS lacks). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
patches: cut a frame at the end of its IP packet in the stream backend (0012)
All checks were successful
iris container image / image (push) Successful in 5m15s
6edaef923b
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
steigr merged commit 6edaef923b into main 2026-11-03 09:44:53 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
irix/iris-container!15
No description provided.