[roll] Roll fuchsia [ffx] Add portmap to device_spec

As part of our project defining a device specification for `ffx emu`, we
want to specify the base set of ports that should be mapped between the
host and guest systems.

This CL introduces a port_map entry to the device_spec data structure.
It contains fields for the host and guest addresses and port numbers,
the IP version, and the protocol (tcp or udp). It includes a to_string()
function which converts the values into a valid QEMU portmap string, so
we can send it straight to the emulator (or device_launcher).

At this time, if a device_spec contains a port_map, the launcher will
populate the emulator command line with the specified ports. It will
also check for a map to port 22, and add one if it's not included.
However, if the user includes a port_map on the command line, that will
completely override the map in the device_spec (this will be adjusted in
the next CL such that the two are reconciled instead). If neither is
specified, the launcher will add a map to port 22 as always.

The unit tests have been adjusted to continue working, but are not
testing the new functionality. This will be included in the
reconciliation CL, since we don't want to write tests twice.

Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/596703
Original-Revision: 9b9cc0a742a6f56094f15c0b806c1bafb7ddf7c7
GitOrigin-RevId: 45ddb79df3d2a2581e2bcbb0040f0a7d3f3cd3f3
Change-Id: I0586a495704927c67c1a1c6ecf9d1dd7851559ae
1 file changed
tree: 342f725827ad34bb3b47ae1a6d682ae4371f1801
  1. infra/
  2. third_party/
  3. firmware
  4. flower
  5. jiri.lock
  6. minimal
  7. prebuilts
  8. README.md
  9. stem
  10. 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 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.