1e1bda4679
The cell catch-all DROP rule blocked all traffic from a connected cell's subnet, including ESTABLISHED/RELATED packets (ICMP replies, TCP ACKs) for connections initiated by local VPN peers. This broke ping to the remote cell's WireGuard IP even when the cell-to-cell tunnel was healthy. Change the DROP to match only NEW,INVALID connections so established reply traffic passes through to the stateful ACCEPT rule. Also adds tests/e2e/wg/test_cell_to_cell_routing.py — an end-to-end test that brings up a real WireGuard tunnel from the test runner to pic1 and verifies full cross-cell routing including ICMP ping, API /health, and Caddy. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>