[roll] Roll fuchsia Reland "[netcfg] Remove temporary interface name policy"

This is a reland of commit 915c4e2012e68daebb9917557283de5a38b39081

This CL now uses the InterfaceNamingIdentifier to decide whether an
interface is already present and named by Netcfg. This identifier is
based on the device's MAC address, which identifies what device is
connected, rather than where the device is connected. This permits
situations where two interfaces may share the same location, but be
different interfaces, such as a WLAN device and a WLANAP device.

Tested: Locally on a SD to ensure that an AP interface and WLAN
interface at the same topological path could co-exist on the device.

Multiply:netstack-management-integration-test.cm

Original-Fixed: b/309010918
Original-Fixed: 56559
Original-Fixed: 135087

Original change's description:
> [netcfg] Remove temporary interface name policy
>
> Remove the behavior where fallback temporary names would be used for
> interface names if the first attempt to add an interface to the Netstack
> failed. This led to names like "etht0" .. "etht1".
>
> When a device is discovered by the Netstack, get the
> PersistentIdentifier for the device, and determine whether Netcfg
> already knows about that device. If it does, then we will remove the
> existing interface prior to installing the new one. If Netcfg does not
> know about the device, then we do nothing and install the new one.
>
> When a device fails to be added to the Netstack with an AlreadyExists
> error, this indicates the interface was installed from another source or
> an interface was already installed by Netcfg with a different identifier
> that has the same name. In either case, we will reject interface
> installation and log it as an error.
>
> Multiply:netstack-management-integration-test.cm
>
> Original-Fixed: b/309010918
> Original-Fixed: 56559
> Original-Fixed: 135087
>
> Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/950632

Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/955833
Original-Revision: 9b30df2f75ba0bbcd829708f2eea83f729233329
GitOrigin-RevId: 72ee3d2acc4e074ac38e6f4f1cf305228b4e6916
Change-Id: I92ad0dcc6362c72ce668f686765372c1aaad2627
1 file changed
tree: fe293d7cf184199ddda8d3eed8410586ee203fe4
  1. git-hooks/
  2. infra/
  3. third_party/
  4. cts
  5. firmware
  6. flower
  7. jiri.lock
  8. MILESTONE
  9. minimal
  10. prebuilts
  11. README.md
  12. stem
  13. test_durations
  14. 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 via the IRC channel #fuchsia on Freenode.

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.