Support upgrading expired/removed IPv6 addresses to permanent SLAAC addresses

If a previously added IPv6 address (statically or via SLAAC) was removed, it
would be left in an expired state waiting to be cleaned up if any references to
it were still held. During this time, the same address could be regenerated via
SLAAC, which should be allowed. This change supports this scenario.

When upgrading an endpoint from temporary or permanentExpired to permanent,
respect the new configuration type (static or SLAAC) and deprecated status,
along with the new PrimaryEndpointBehavior (which was already supported).

Test: stack.TestAutoGenAddrAfterRemoval
PiperOrigin-RevId: 289990168
3 files changed
tree: f74bf622f33e56726ad793dfbefea4f059211a1e
  1. pkg/
  2. AUTHORS
  3. go.mod
  4. go.sum
  5. LICENSE