qemu-init uses the qemu monitor to communicate with the registered guests. This will be done through monitor redirection with 2 types of sockets: tcp sockets and unix sockets. The behavior of qemu with (at least) socket redirection makes is necessary to have 2 channels:
Socket and channel combinations | |||||
---|---|---|---|---|---|
Type | Channel | Status | |||
unix socket | interactive | always set | |||
command | always set | ||||
tcp socket | interactive | always set | |||
command | optional |
The qemu monitor is important cause qemu-init requires it for communication. It will be started by default, redirected via tcp at localhost. The first port number is defined in . For each virtual machine started by  /etc/qemu/monitor.conf 
(default: 30320) qemu-init 
the port will be increased by 1. Make sure that no other programs uses a port inside the range required by  qemu-init 
. If no valid port could be determined, the monitor will be disabled silently.
The qemu monitor will be bound to localhost  127.0.0.1 
(IPv4) by default always.  qemu-init 
checks for address  ::1 
(IPv6) too. If it is available the qemu monitor will be bound to ::1 additional.
It is a requirement that the monitor could be accessed via a tcp socket. The stop function of  qemu-init 
uses a socket to shutdown virtual machines clean. See Stop a VM below for details.
There are multiple ports used by the monitor. The first one is MONPORT (monitor port), calculated like described above. The MONPORT is used by  qemu-mon 
to establish a permanent connection. The second one is the CTLPORT (control port). Its number is MONPORT+100. The CTLPORT is used by  qemu-cmd 
. Both tools checks for the proper IP version of the socket. The background to have multiple ports is, that there is only one connection to a socket possible at the same time.