[roll] Roll fuchsia [netstack3] Generate stable SLAAC addrs with opaque IIDs

Use opaque IIDs to generate stable SLAAC addresses (both global and
link-local) when enabled, as described in RFC 7217, ensuring that
generated IIDs do not conflict with any IIDs reserved by IANA or already
assigned to the stack.

Add a global stack configuration option to control whether IIDs are
derived deterministically from the link-layer address or generated with
the stable secret key by default. (This global default can be overridden
for specific interfaces.) Enable opaque IIDs by default, and create a
new variant of Netstack3 for conformance tests that disables them to get
deterministic SLAAC addresses.

After this change the stack does not yet perform address regeneration on
DAD failure for stable addresses; that will come later.

Original-Bug: 42148800
Test: netstack3-core-ip-test
      netstack3-core-ip-integration-test
      netstack3-core-device-integration-test
      netstack-ipv6-integration-test
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1186613
Original-Revision: 2fea1e61d4245d7a89ce4178ddb6c511d53fddca
GitOrigin-RevId: 2ee1567cbb896d615b56c87a04bf5b7f5a08a443
Change-Id: I77350fac99a8e496e88c0f7830b15084e963d790
1 file changed
tree: e88d4b9f94f2188cb5b011721eb9142a721a970b
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. cts
  6. firmware
  7. flower
  8. jiri.lock
  9. MILESTONE
  10. minimal
  11. prebuilts
  12. README.md
  13. stem
  14. test_durations
  15. toolchain
README.md

Integration

This repository contains Fuchsia's Global Integration manifest files.

Making changes

All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.

Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance in one of the communication channels documented at get involved.

Obtaining the source

First install Jiri.

Next run:

$ jiri init
$ jiri import minimal https://fuchsia.googlesource.com/integration
$ jiri update

Third party

Third party projects should have their own subdirectory in ./third_party.