[roll] Roll fuchsia [netstack3] Fix 2 races around address removal

Fix a race in AddressStateProvider where it can race with a
core-initiated removal of an address, causing it to panic when the
address is not there upon calling `del_ip_addr`.

The regression test for the first race exposed a different race: core
does not hold a lock to emit the address added and address removed
events, which may cause the interfaces watcher worker to see the removed
event before added, which throws an error due to the invariant
violation.

For ASP, we need to gracefully allow the race to happen and pick up the
new removal reason from core.

For the core races, reshape the core traits to ensure a lock is held
when emitting addition and removal events.

Original-Fixed: 474390739
Multiply: fuchsia-pkg://fuchsia.com/netstack-interfaces-admin-fidl-test-no-err-logs#meta/netstack-interfaces-admin-fidl-test.cm

Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1470881
Original-Revision: 68f3bb513af2c3197467ea3363891d2f88c2790e
GitOrigin-RevId: 9324d7acf749965951f8d25c85645ab32d2ad449
Change-Id: I6fc378f4c7fd5a92b30ee95cf89d9cc9cc66f0c1
1 file changed
tree: e8e670f3e9a9d8ec8ce96d15ab03cb994d5bc382
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. flower
  6. jiri.lock
  7. MILESTONE
  8. minimal
  9. prebuilts
  10. README.md
  11. stem
  12. test_durations
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.