On 25.09.2013 19:17, Chunduru Venkata, Ravi wrote:
Hi All,
My intent is to make virtio unix channel work. I could configure the
XML and launch VM and could see the port in /dev/virtio-ports
<channel type='unix'>
<source mode='bind' path='/tmp/appl_port'/>
<target type='virtio' name='appl_port'/>
<address type='virtio-serial' controller='0' bus='0'
port='1'/>
</channel>
When I see on the host, the unix socket is already binded and is in
listening state.
echo "test this" > /tmp/appl_port
bash: /tmp/appl_port: No such device or address
netstat -nax | grep appl_port
unix 2 [ ACC ] STREAM LISTENING 15302258 /tmp/appl_port
1) Can some one please have a look and help me fix this.
There's nothing to fix. This works as expected.
2) if I don't set source mode to 'bind', it gets set to
'connect' in xml
and VM fails to boot up. I would like to understand the different types
of source mode.
There are two modes: 'bind' and 'connect'. They represent the UNIX
sockets modes. Either an application connects to something ('connect')
using the socket path as unique identifier telling where to connect, or
an application listens for incoming connections, again using the socket
path as unique identifier. Hence, if you want to use 'connect' mode, you
already need to have an application listening on the socket path when
starting up a domain. Otherwise the domain will get an error while
connecting to the socket. Or, you have to tell you application to
connect to the socket created by 'bind' mode once the domain is started.
Michal