- topology.sh: ns_exec для всех ip -n <ns> и ip netns exec, коды 0/1/3/4.
- netns_common.py: ns_exec_mode()/ns_exec_direct(), addrs/links/link_is_up через ns_sh.
- docker-compose.test.yml: проброс AWG_NS_EXEC_MODE в netns-сервис.
- tests/netns/README.md: режимы входа в netns, коды возврата, новый pitfall.
Refs #21, Refs #15, Refs #56
- test_netns_stand.py — 8 тестов: топология и линки, policy routing по fwmark,
правила меток и kill-switch, готовность мока и детектора, доставка handshake
из LAN и из шлюза с ростом счётчика метки, имитация недоступности провайдера
(mode=drop), положительный контроль утечки и блокировка при kill-switch.
Тесты пропускаются вне run.sh, чтобы не падать при случайном pytest-прогоне;
- README.md харнесса — схема топологии, состав файлов, таблица тестов,
переменные окружения и pitfalls (root/CAP_NET_ADMIN, rp_filter, отсутствие
nft и ping в alpine-образе).
Refs #21
Refs #15