- 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
- netns_common.py — обёртки над ip/nft/iptables: проверка netns и линков,
счётчики правил меток и kill-switch (nft -j и iptables -v -x), чтение
JSONL-логов мока и детектора, отправка трафика через probe.py;
- run_tests.py — прогон unittest с JSON-отчётом (pytest не нужен: работает
и на хосте, и в alpine-образе);
- README.md — схема топологии, таблица тестов, переменные окружения и pitfalls
(root/CAP_NET_ADMIN, rp_filter, отсутствие nft и ping в образе).
Refs #21
Refs #15