20.16.16. Channel
This represents a private communication channel between the host physical machine and the guest virtual machine and is manipulated by making changes to your guest virtual machine virtual machine using a management tool that results in changes made to the following section of the domain xml
... <devices> <channel type='unix'> <source mode='bind' path='/tmp/guestfwd'/> <target type='guestfwd' address='10.0.2.1' port='4600'/> </channel> <!-- KVM virtio channel --> <channel type='pty'> <target type='virtio' name='arbitrary.virtio.serial.port.name'/> </channel> <channel type='unix'> <source mode='bind' path='/var/lib/libvirt/qemu/f16x86_64.agent'/> <target type='virtio' name='org.qemu.guest_agent.0'/> </channel> <channel type='spicevmc'> <target type='virtio' name='com.redhat.spice.0'/> </channel> </devices> ...
Figure 20.63. Channel
This can be implemented in a variety of ways. The specific type of
<channel>
is given in the type
attribute of the <target>
element. Different channel types have different target attributes as follows:
guestfwd
- Dictates that TCP traffic sent by the guest virtual machine to a given IP address and port is forwarded to the channel device on the host physical machine. Thetarget
element must have address and port attributes.virtio
- Paravirtualized virtio channel.<channel>
is exposed in the guest virtual machine under/dev/vport*
, and if the optional elementname
is specified,/dev/virtio-ports/$name
(for more info, see http://fedoraproject.org/wiki/Features/VirtioSerial). The optional elementaddress
can tie the channel to a particulartype='virtio-serial'
controller, documented above. With QEMU, if name is "org.qemu.guest_agent.0", then libvirt can interact with a guest virtual machine agent installed in the guest virtual machine, for actions such as guest virtual machine shutdown or file system quiescing.spicevmc
- Paravirtualized SPICE channel. The domain must also have a SPICE server as a graphics device, at which point the host physical machine piggy-backs messages across the main channel. Thetarget
element must be present, with attributetype='virtio';
an optional attributename
controls how the guest virtual machine will have access to the channel, and defaults toname='com.redhat.spice.0'
. The optional<address>
element can tie the channel to a particulartype='virtio-serial'
controller.