The in-tree NDP responder relies on being the only NDP proxy on the host. main.go already disabled ndppd.service at install; npd6 (an alternative distro NDP proxy daemon) was left running, so a host that happened to have npd6 installed would answer Neighbor Solicitations with a competing link-local-source NA and break the global-address fix. - main.go: also `systemctl disable --now npd6.service` at install - uninstall.sh: also stop/disable npd6 in the IPv6 cleanup path - docs: note both daemons are disabled (ipv6-ndp-responder.md, ipv6.md)
Documentation
Technical documentation for vpsmgr. All docs are in English.
| Doc | What it covers |
|---|---|
| architecture.md | System design: components, storage, network, security, traffic, image, install/uninstall lifecycle |
| configuration.md | Full reference for /etc/vpsmgr/config.yaml |
| ipv6.md | IPv6 pass-through design: deterministic addresses, prefix support, routing, installer flow |
| ipv6-ndp-responder.md | Why prefix mode replaced ndppd with an in-tree NDP responder, design hardening, and what to test at scale |
| development.md | Building, testing, releasing, conventions |
See also AGENTS.md at the repo root — short version aimed at AI coding agents.