This section describes a configuration for a guest communicating with the outside world through network drivers in the hypervisor host.
The figure below illustrates guest-to-world communication using a virtio-net vdev in the guest and a devnp-vdevpeer-net.so driver in the hypervisor host connected via a bridge to an Ethernet driver also in the host.
In the configuration for the VM hosting the guest, configure a virtio-net vdev so you can establish peer-to-peer communication with the devnp-vdevpeer-net.so driver. For example, for a QNX guest on an ARM board:
system qnx71-arm-guest ... # The loc and intr gic options are for ARM only. The guest will see the # virtio-net vdev as a memory-mapped I/O device at the specified location. vdev virtio-net loc 0x1c0c0000 intr gic:40 mac aa:aa:aa:aa:aa:aa name p2p peer /dev/vdevpeers/vp0
This is exactly like the virtio-net vdev configuration in Guest-to-host.
In the host, you must start io-pkt-*, specifying the devnp-vdevpeer-net.so driver, start the internet services (inetd), then create a bridge. For example:
io-pkt-v6-hc \ -d vdevpeer-net \ peer=/dev/qvm/qnx71-arm-guest/p2p,bind=/dev/vdevpeers/vp0,mac=a0b0c0d0e0f0 -d ravb mac=126ce901562c -p tcpip pkt_typed_mem=below4G ... inetd /usr/bin/sshd dhclient -nw -lf /tmp/dhclient.leases ravb0 ... ifconfig bridge0 create brconfig bridge0 add ravb0 up
Note the -d ravb mac=126ce901562c option for io-pkt-v6-hc, which starts the driver for Renesas RAVB Ethernet interfaces needed to connect to the outside world.
You must then add the devnp-vdevpeer-net.so interface to the bridge in the host. For example:
ifconfig vp0 up brconfig bridge0 add vp0
Finally, use the bridge in the host to connect the devnp-vdevpeer-net.so node to the Ethernet driver in the host (see Acting as a bridge in the QNX SDP Core Networking Stack User's Guide and brconfig in the Utilities Reference).