utils/vmbox/lib
Krzysztof kuhy Rudnicki 89399526f5 vmbox: VM-to-VM networking works (the transport was fine, my pairing was not)
Measured between two sandboxes: 3 packets transmitted, 3 received, 0% packet
loss, 0.23 ms average.

The previous commit called this broken. It was not: the dgram transport worked
all along, but the odd/even pairing computed the wrong peer port for even
indexes, so a VM pointed `remote.port` at a port nothing had bound. Both ends
came up, addresses were right, and zero frames crossed -- indistinguishable
from a dead transport, and nothing in any log said otherwise. The tell was
`ss -lunp`: the bound ports were 12349 and 12350 while the guest was sending
to 12348. The test then compounded it by using indexes 4 and 5, which belong
to DIFFERENT pairs (4 pairs with 3, 5 pairs with 6).

Pairing is (1,2), (3,4), (5,6)... Two sandboxes created back to back are wired
together, which is the common case.

mcast= remains genuinely unusable here and is documented as such so nobody
re-tries it: lo has no MULTICAST flag and there is no multicast route, so qemu
accepts it and drops every frame.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdyMBGCrGVGDWtJ9xe48f3
2026-08-22 21:26:47 +02:00
..
base.sh vmbox: disposable Arch VM sandbox for destructive system tests 2026-08-22 20:47:56 +02:00
common.sh vmbox: derive the peer IP from the NIC's MAC; document that VM-to-VM is broken 2026-08-22 21:23:37 +02:00
launch.sh vmbox: VM-to-VM networking works (the transport was fine, my pairing was not) 2026-08-22 21:26:47 +02:00
overlay.sh vmbox: disposable Arch VM sandbox for destructive system tests 2026-08-22 20:47:56 +02:00
qmp.py vmbox: disposable Arch VM sandbox for destructive system tests 2026-08-22 20:47:56 +02:00
recorder.py vmbox: disposable Arch VM sandbox for destructive system tests 2026-08-22 20:47:56 +02:00
repo.sh vmbox: share host repos by bind mount, not symlink 2026-08-22 21:15:57 +02:00
run.sh vmbox: print the verdict when the guest powers off (set -e aborted first) 2026-08-22 21:10:40 +02:00
screenshot.sh vmbox: disposable Arch VM sandbox for destructive system tests 2026-08-22 20:47:56 +02:00
seed.sh vmbox: disposable Arch VM sandbox for destructive system tests 2026-08-22 20:47:56 +02:00
serial_exec.py vmbox: fix the boot deadlock that made every sealed image unreachable 2026-08-22 21:06:06 +02:00
smoke.sh vmbox: add a serial transport so shutdown tests do not depend on sshd 2026-08-22 20:58:22 +02:00
ssh.sh vmbox: disposable Arch VM sandbox for destructive system tests 2026-08-22 20:47:56 +02:00
verdict.sh vmbox: disposable Arch VM sandbox for destructive system tests 2026-08-22 20:47:56 +02:00