[roll] Roll fuchsia [netdevice] Prepare FIDL API for FIDL migration

Change the signature of AddPort to return a status code. AddPort has to
complete synchronously before other operations on the port can succeed
and using a return value allows the caller to be notified when the call
completes. This also changes the behavior so that NetworkPort.Removed is
no longer called if AddPort failed, instead AddPort will return an error
code.

The MAC interface in NetworkPort.GetMac is now optional to behave the
same way that the Banjo version did. Some implementations do not support
the MAC operations and that's a supported mode of operation.

NetworkDeviceImpl.ReleaseVmo is now a two-way function so that a client
can ensure that the VMO is released before proceeding.

Drivers updated to accommodate AddPort and GetMac changes. No driver
changes needed for the ReleaseVmo change at this point.

Test: igc_tests netdevice-migration-tests gvnic-tests
usb-cdc-ecm-unittest usb-cdc-ecm-integration-test virtio-netdevice-test
network-device-lib-test network-device-microbenchmarks
network-device-mac-lib-test network-tun-test nxpfmac-tests
wlan-drivers-components-tests virtio_net_unittests
virtio_net_cpp_unittests network-tun-example netstack-integration-tests
netdev-rust-client-tests netdev-cpp-client-tests network-device-test
brcmfmac on astro and nelson works

Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/912222
Original-Revision: 7373331ecdea97a51da1323cd96218fcca0a384b
GitOrigin-RevId: 4f6814a1d1e0f697d85c08d461b9b99709bc01d6
Change-Id: If45a039901dbb2d3d352ad652521ee553a550b47
1 file changed
tree: 52c2d7e6e6cc89b8500cece31cf44f97461b5a80
  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.