David C wrote:
>
> On Wed, 30 May 2001, Kevin Lawton wrote:
> >
> > .... Hack away. ...
>
> Which reminds me, this seems to be a good time to restate my idea of
> networking. The guest os is provided an emulated network device that it
> uses without having to write any drivers specific to plex86. On the host
> end, the data sent through the virtual network card would be given to
> a kernel module specifically written for plex86 (the monitor is already
> being inserted; I don't see this as a big deal). The kernel module
> would then emulate a network device on the host system that it can't
> distinguish from a physical card put in. The host system can then act as
> if it's on two networks and be a router using standard tools for data that
> is coming from the guest. I know next to nothing about specifics of
> assembly and low level drivers and kernel hacking, so I don't know how
> this method's speed/performance compares to other ideas. This is just the
> cleanest way I envision allowing the guest access to a network. There is
> not really a special case on either the host or the guest.
This sounds quite interesting. I haven't played with network
drivers on Linux, but since we are free to define our own network
card interface (which is really a redirect to the VM monitor),
sounds like it'd be quite doable. As well as on other guests.
Not only is it good in that all the standard tools/infrastructure
work without modification, but it also saves a round trip for data
packets (eliminates the extra hostOS -> host user -> hostOS trip),
since packets stay at the kernel level.
We would need to be able to move the network card emulation, and
some minimal IO device interface stuff into the VM monitor.
Special guestOS specific drivers could use the same network
packet VM -> host interface as would the real network card emulation.
Other people want to comment? I like this idea.
-Kevin
--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Kevin Lawton [EMAIL PROTECTED]
MandrakeSoft, Inc. Plex86 developer
http://www.linux-mandrake.com/ http://www.plex86.org/