The MVP pass criteria include a real LAN game discovering or joining a LAN
server through the TAP adapter. Many games use UDP broadcast discovery, but the
real-session relay tests did not pin that traffic shape to the client, relay,
and gateway session path.
Add a session test that sends an IPv4 UDP broadcast query from the client side
to the gateway and a broadcast reply from the gateway side back to the client.
The test uses non-DHCP UDP ports, asserts the frames stay broadcast IPv4/UDP,
and checks the client and gateway broadcast counters in both directions. This
keeps the proof close to LAN-game discovery without needing real game or LAN
hardware.
Test Plan:
- cargo fmt --check
- cargo test -p lanparty-relay \
bridges_udp_broadcast_discovery_frames_between_client_and_gateway_sessions \
-- --nocapture
- cargo test -p lanparty-relay
- cargo test --workspace
- cargo clippy --workspace --all-targets -- -D warnings
- git diff --check
Refs: MVP LAN-game discovery pass condition