On 18/03/10 14:31, Matthew Whitehead wrote: > Matthew, > Dan B referred me to you. I want to create 4 (or more) virtual serial devices between two KVM virtual hosts. The output of one serial device would be the input to the other. Virt-manager doesn't provide this, so I'm prepared to hack the config files manually. Unfortunately, I can't find documentation on the syntax. > > Can you assist? I'm normally the one complaining about lack of documentation :) That's quite an oversight. The basic syntax for a virtio-serial channel is: <channel type='pty'> <target type='virtio' name='org.linux-kvm.port.1'/> </channel> You'll want 4 <channel/> entries per guest. Give them all different names. The interesting bit is going to be plugging the character devices together on the host. I'm pretty sure you'll have to use pipes. Note that afaik the libvirt documentation on this is wrong and misleading. Don't read it, just test instead :) IIRC, the way pipes actually work is that it expects to be able to use 2 pipes based on the path you specify, called foo.in and foo.out. I seem to recall you need to create these manually too. The following advice is completely untested. It may also be responsible for global warming and the rise of reality TV. Host: # mkfifo /tmp/guesta-virtioserial{1,2}.{in,out} # ln /tmp/guesta-virtioserial1.in /tmp/guestb-virtioserial1.out # ln /tmp/guesta-virtioserial1.out /tmp/guestb-virtioserial1.in # ln /tmp/guesta-virtioserial2.in /tmp/guestb-virtioserial2.out # ln /tmp/guesta-virtioserial2.out /tmp/guestb-virtioserial2.in Guest A: <channel type='pipe'> <source path="/tmp/guesta-virtioserial1"/> <target type='virtio' name='org.linux-kvm.port.1'/> </channel> <channel type='pipe'> <source path="/tmp/guesta-virtioserial2"/> <target type='virtio' name='org.linux-kvm.port.2'/> </channel> Guest B: <channel type='pipe'> <source path="/tmp/guestb-virtioserial1"/> <target type='virtio' name='org.linux-kvm.port.1'/> </channel> <channel type='pipe'> <source path="/tmp/guestb-virtioserial2"/> <target type='virtio' name='org.linux-kvm.port.2'/> </channel> At this point, both virtio-serial devices in each guest should be full-duplex. Matt -- Matthew Booth, RHCA, RHCSS Red Hat Engineering, Virtualisation Team M: +44 (0)7977 267231 GPG ID: D33C3490 GPG FPR: 3733 612D 2D05 5458 8A8A 1600 3441 EA19 D33C 3490 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list