[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] net: RFC New Socket-Based, Switched Network Backend (QD
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] net: RFC New Socket-Based, Switched Network Backend (QDES) |
Date: |
Wed, 27 Jun 2012 09:26:28 +0100 |
On Tue, Jun 26, 2012 at 5:48 PM, Mike Lovell <address@hidden> wrote:
> On 06/26/2012 02:29 AM, Stefan Hajnoczi wrote:
>>
>> On Mon, Jun 25, 2012 at 5:32 PM, Mike Lovell <address@hidden> wrote:
>>>
>>>
>>> Oh. I forgot another reason why I decided to do this over using VDE. I'll
>>> do
>>> this one with an example. Say you have 3 virtual machines on 3 different
>>> hosts. Each host has a vde_switch process running, Switch A, B, and C.
>>> Each
>>> vde_switch has connections to the other 2 through some vde_plug's and
>>> netcat. In this case, VDE will disable one of the links between switches
>>> to
>>> prevent loops, say the link between Switch A and C. Traffic from the VM
>>> connected to Switch C that is destined for the VM on Switch A will have
>>> to
>>> traverse through Switch B. This is a suboptimal traffic flow. Especially
>>> when you consider that the traffic has to flow through 3 to 4 additional
>>> processes on each host for each direction.
>>
>> I haven't tried VDE myself but this sounds odd. Why can't you run a
>> single vde_switch instance and connect multiple guests to it (with
>> netcat)?
>
>
> you can connect multiple guests to a single vde_switch. as i understand it,
> the communication happens over a local unix domain socket. this would limit
> the guests on the same switch to the same host. so if you want guests on
> multiple hosts to talk using vde, i think you need a vde_switch on each host
> and then connect the vde_switch processes.
It can be done with socat or netcat (unix_domain_socket_a <-> TCP <->
unix_domain_socket_b):
http://www.dest-unreach.org/socat/doc/socat.html
Another idea is to take the QDES code and turn it into a freestanding
program that speaks the net/socket.c protocol. That way it works with
existing QEMUs: launch the qdes daemon, then launch qemu -netdev
socket,connect=qdes-host:qdes-port.
Stefan
- [Qemu-devel] net: RFC New Socket-Based, Switched Network Backend (QDES), Mike Lovell, 2012/06/25
- [Qemu-devel] [PATCH] Initial commit for QDES - QEMU Distributed Ethernet Switch, Mike Lovell, 2012/06/25
- Re: [Qemu-devel] net: RFC New Socket-Based, Switched Network Backend (QDES), Stefan Hajnoczi, 2012/06/25
- Re: [Qemu-devel] net: RFC New Socket-Based, Switched Network Backend (QDES), Mike Lovell, 2012/06/25
- Re: [Qemu-devel] net: RFC New Socket-Based, Switched Network Backend (QDES), Mike Lovell, 2012/06/25
- Re: [Qemu-devel] net: RFC New Socket-Based, Switched Network Backend (QDES), Stefan Hajnoczi, 2012/06/26
- Re: [Qemu-devel] net: RFC New Socket-Based, Switched Network Backend (QDES), Mike Lovell, 2012/06/26
- Re: [Qemu-devel] net: RFC New Socket-Based, Switched Network Backend (QDES),
Stefan Hajnoczi <=
- Re: [Qemu-devel] net: RFC New Socket-Based, Switched Network Backend (QDES), Mike Lovell, 2012/06/27
- Re: [Qemu-devel] net: RFC New Socket-Based, Switched Network Backend (QDES), Stefan Hajnoczi, 2012/06/28