qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Connecting vde and LAN


From: Oliver Gerlich
Subject: Re: [Qemu-devel] Connecting vde and LAN
Date: Thu, 11 Aug 2005 18:24:51 +0200
User-agent: Mozilla Thunderbird 1.0.6-1 (X11/20050804)

Henrik Nordstrom wrote:
On Wed, 10 Aug 2005, Jim C. Brown wrote:

[...]
The above should work for most situations where the host is a just a host on the LAN, but if the host is a LAN server for broadcast Ethernet protocols such as DHCP some additional configuration of each such service may be required to also listen on the tap0 device if the guest should be able to use these services. Quite likely also applies to some other protocols such as IPX or AppleTalk as these frames almost certainly will be ignored by the host on the tap0 device unless configured proper for each protocol.

Couldn't we avoid these incompatibilities if we would route packets only on the Ethernet level? If the Qemu networking setup on the host involves IP addresses or such things, we're already on the wrong OSI layer I think...

I'm not very experienced in networking, but IMHO the network should be set up like this:

                                    (eth0 on Host OS)
                                   /
( LAN ) <----> (real eth0) <-> VDE
                                   \
                                    (NIC on Guest OS)

(substitute eth0 by the LAN network interface of your computer)

So VDE acts as an Ethernet switch between LAN, Host OS and Guest OS. This would limit VDE action to the Ethernet layer. To connect to the LAN, VDE would use the real (physical) eth0 of the host system. When packets arrive from Host OS or Guest OS, they would be sent to the LAN with the source MAC addresses preserved. The connection to the Qemu guests should be easy as well (every guest has a MAC address anyway). The host part is really difficult: VDE would have to provide a "faked" eth0 to the host OS, so that programs on the host could still use eth0 as Ethernet interface. This faked eth0 would be connected to VDE just like the Guests are. I guess this means that VDE would have to provide a kernel-layer component which grabs the packets from eth0 and provides the faked eth0 for the Host OS...

Although IMHO this is the cleanest way to set up networking, it's probably not possible to implement this :-) But maybe we could use it as a starting point for the networking.

So this is a summary of what I think we should try to achieve (sorted by priority): -provide Ethernet-layer access from the Guest to the LAN (so that it's transparent for IP traffic)
-allow using a LAN-wide DHCP server for the Guest
-the host should be able to set up his LAN interface over the LAN-wide DHCP server. -the host networking still works as before (at least on the layers above Ethernet)
-the whole thing is easy to set up
-the whole thing can be started by any user at any time (so it's not started at boot time, but whenever a user starts Qemu).

If we could achieve all of these requirements, it would be fantastic :-)
But maybe we could at least reach some of them.

What are your comments on this?

Regards,
Oliver Gerlich




reply via email to

[Prev in Thread] Current Thread [Next in Thread]