tree: b7ca73cce6e17d99e0a46cf7ba22e0eb592a0404 [path history] [tgz]
  1. meta/
  2. src/
  3. BUILD.gn
  4. README.md
src/paravirtualization/vsock-loopback/README.md

vsock-loopback

This component provides the ability to connect to VMADDR_CID_LOCAL (ie CID == 1) as well also serve sockets using that CID. It is used in conjunction with vsock_service with will redirect connections to it is enabled. In hermetic tests, or scenarios where fuchsia is not running as a guest VM with a vsock device provided to it, vsock-loopback will also implement a loopback for VMADDR_CID_HOST (ie CID == 2).

vsock-loopback provides similar functionality to a loopback netdevice implementation, such as netemul, used in conjunction with netstack for AF_INET sockets, or simply using an AF_UNIX socket over a differnt address space of ports.

Building

To add this component to your build, append --with src/paravirtualization/vsock-loopback to the fx set invocation.

Running

Use ffx component run to launch this component into a restricted realm for development purposes:

$ ffx component run /core/ffx-laboratory:vsock-loopback fuchsia-pkg://fuchsia.com/vsock-loopback#meta/vsock-loopback.cm

Note that it's already included by default in all emulator based configurations, so it can alternatively be started via the following command after launching an emulator:

$ ffx component start vsock-loopback

Testing

Unit tests for vsock-loopback are available in the vsock-loopback-tests package.

$ fx test vsock-loopback-tests