mirror of
https://github.com/jmcorgan/fips.git
synced 2026-10-30 07:37:36 +00:00
The gateway's init script gives br-lan a global-scope address, 2001:2:f1b5::1/64, so Android and Chrome clients send AAAA queries. It set the address on every start, reloading the network each time whether or not it changed, and deleted it on every stop with another reload. On OpenWrt 25.12 netifd recreates br-lan when its address changes, so every stop, restart and later start dropped the LAN for a few seconds and gave br-lan a new ifindex. The address is now set, and the network reloaded, only when it is not already in place, and it stays across stops and restarts while the service is enabled. It is deleted, with one reload, when the gateway is turned off: on `disable` of a stopped gateway (the script now overrides rc.common's disable, keeping its link removal), on a `stop` of a disabled one, so `stop` and `disable` work in either order, on a start with gateway.enabled not true in fips.yaml, and on package removal, whose prerm runs stop and then disable. disable leaves the address alone in an image build and while procd still runs the gateway, and a restart of a disabled gateway does not delete it. Turning the gateway off never deletes an address the operator set in network.lan.ip6addr; a start still replaces it, as before. A stop still removes the ra_default override, which needs only an odhcpd restart. The comment that called the prefix RFC 5180 benchmarking space is corrected: it is an unassigned, unrouted part of IANA's 2001::/23 block. The README and the deployment tutorial describe when the address is present, how to delete it by hand after a sysupgrade that drops the package, that a gateway disabled while running and then rebooted needs one stop to delete it, and that on a router with upstream IPv6 clients may source connections to 2001::/16 from it while it is present. The first upgrade onto this version still deletes and re-adds the address once, because the outgoing package's prerm runs its own stop.