From: Lennert B. <bu...@gn...> - 2001-03-04 22:27:44
|
Hi, I think I might have a solution for you, but it's somewhat involved as of yet because lots of stuff isn't integrated in the standard kernel. First of all, you need the TAP/TUN device on the host machine. You can get it at http://vtun.sourceforge.net/. You will also need to grab http://vtun.sourceforge.net/tun/tun.tgz, which contains tun_patch which adds support for so-called 'persistent' TAP/TUN devices to your host kernel. The second requirement is that your host kernel does ethernet bridging. If you use a 2.4 kernel you have this functionality, if you use a 2.2 kernel get a patch at http://www.math.leidenuniv.nl/~buytenh/bridge/. Get the bridge utilities (available at the above URL) and install them on your host. Third, you need these two patches in your vanilla 2.4.2 uml tree: http://www.math.leidenuniv.nl/~buytenh/umlnet/uml2.4.2-irqfix-1.diff http://www.math.leidenuniv.nl/~buytenh/umlnet/umlnetfast2.4.2-3.diff Fourth, it is useful to apply this patch to /sbin/ifup in your uml's root filesystem (if you use Red Hat): http://www.math.leidenuniv.nl/~buytenh/umlnet/gratuitious-arp.diff I'll assume that your uml's are named uml0 and uml1 and have their hostnames set to this. Also, I will assume uml0 will run under an account named 'uml0' on the host, and a similar thing for uml1. 1. Set up a bridge device on your host. brctl addbr br0 brctl setfd br0 4 brctl sethello br0 1 2. Set up TAP devices for your umls. For [user], fill in the user your umls will be running as (the tuncfg utility is in tun.tgz above). tuncfg --tap --owner=uml0 --persist uml0.eth0 tuncfg --tap --owner=uml1 --persist uml1.eth0 3. Enslave these devices to your bridge. brctl addif br0 uml0.eth0 brctl addif br0 uml1.eth0 4. Boot uml0 and uml1. uml0 and uml1 will have a device called 'eth0' after booting, which will appear to be directly connected to eachother. If you assign IP addresses to them you can exchange traffic. Also, the 'host' can participate in the same network by assigning an IP address to device 'br0' on the host. I hope this was what you wanted to know? If you have questions, let me know. cheers, Lennert On Sun, Mar 04, 2001 at 11:44:43AM -0800, Xiaoshan Zuo wrote: > I am porting a driver to Linux. I am able to use UML > to debug part of the driver. But the driver sends > ethernet frames between machines. To debug this part > of driver, I have to set up two machines. I am > wondering if I can use two UML on the same machine, > and configure them to send ethernet frames to each > other. For UML homepage, it seems that I have to set > up IP address so that host machine can forward packets > between interfaces. > > Thanks, > > Xiaoshan > > __________________________________________________ > Do You Yahoo!? > Get email at your own domain with Yahoo! Mail. > http://personal.mail.yahoo.com/ > > _______________________________________________ > User-mode-linux-user mailing list > Use...@li... > http://lists.sourceforge.net/lists/listinfo/user-mode-linux-user |