Files
fips/testing/chaos/sim
Johnathan Corgan 57a21b3ab8 Assert datagram delivery over Ethernet in the ethernet-mesh chaos scenario
No chaos scenario sent a datagram across an Ethernet link: both Ethernet
scenarios asserted only that the tree formed, so framing, AEAD over
AF_PACKET and delivery through the Ethernet transport were untested.

A new delivery assertion pings node pairs at each configured payload size
at teardown, after flapped links and stopped nodes are restored, one packet
at a time until min_replies replies arrive or deadline_secs passes. The
verdict is whether that happened, not a loss ratio, so a busy host slows the
probe without failing it. With require_transport and transport_node it also
reads that node's peers before and after the probe and fails if the node has
no peers or any peer on another transport, so traversal is checked rather
than assumed. A probe that never ran fails as a harness failure.

ethernet-mesh asserts delivery to and from n04, whose only edges are
Ethernet, at payloads 0 and 1200: n04 to n06 and back cross Ethernet then
UDP, and n04 to n05 is one Ethernet hop. Break-checks: dropping echo
requests on n06's TUN fails n04->n06 with zero replies while baseline
passes; adding a UDP edge to n04 fails the traversal check.

The payload sizes cannot exercise the receiver's padding trim on veth: an
empty echo is a 226-byte frame and a 1200-byte echo 1342 bytes, and the
veth does not pad shorter frames (54-byte control frames and 48-byte beacons
arrived unpadded; no received data frame carried bytes past its length
field). The trim is covered by the unit tests on the receive loop's parse.
2026-09-26 18:59:43 +00:00
..