Hi Renzo


The patch seems to work for multicast interface between multiple VM.
vmlinux mem=128M eth0=mcast,,239.0.1.1
...
Configured mcast device: 239.0.1.1:1102-1
Choosing a random ethernet address for device eth0
Netdevice 0 (d6:26:50:fd:f8:ef) : mcast backend multicast address: 239.0.1.1:1102, TTL:1
eth0 (uml-netdev): not using net_device_ops yet

I can ping between different umls.

But in the case of tuntap networking It does not work.
./vmlinux umid=CMM mem=128M eth1=tuntap,,,192.168.1.1
...
Choosing a random ethernet address for device eth1
Netdevice 1 (aa:ba:ea:1b:93:c6) : <6>TUN/TAP backend - IP = 192.168.1.1
eth1 (uml-netdev): not using net_device_ops yet

Inside the uml

#ifconfig eth1 up
* modprobe tun
* ifconfig tap6 192.168.1.1 netmask 255.255.255.255 up
* bash -c echo 1 > /proc/sys/net/ipv4/ip_forward
IRQ 5/eth1: IRQF_DISABLED is not guaranteed on shared IRQs
# ifconfig eth1 192.168.1.2 up
* route add -host 192.168.1.2 dev tap6
* bash -c echo 1 > /proc/sys/net/ipv4/conf/tap6/proxy_arp

But then I can not ping from host to UML, neither from UML to host.

David



On Wed, Mar 11, 2009 at 1:22 PM, Renzo Davoli <renzo@cs.unibo.it> wrote:
User-Mode Linux 2.6.29-rc* gives a lot of warnings during the boot:

IRQ 2/console: IRQF_DISABLED is not guaranteed on shared IRQs
IRQ 3/console-write: IRQF_DISABLED is not guaranteed on shared IRQs
IRQ 5/eth0: IRQF_DISABLED is not guaranteed on shared IRQs
IRQ 6/ssl: IRQF_DISABLED is not guaranteed on shared IRQs
IRQ 7/ssl-write: IRQF_DISABLED is not guaranteed on shared IRQs
IRQ 10/winch: IRQF_DISABLED is not guaranteed on shared IRQs
...

In fact there is a warning in kernel/irq/manage.c:682.
 if ((irqflags & (IRQF_SHARED|IRQF_DISABLED))
     == (IRQF_SHARED|IRQF_DISABLED))
   pr_warning("IRQ %d/%s: IRQF_DISABLED is not "
       "guaranteed on shared IRQs\n",
       irq, devname);

Jeff,
It is necessary to have IRQF_DISABLED for shared IRQs?
Can IRQF_DISABLED be switched off for all shared IRQ?
Given that the masking policy is not guaranteed already, nothing
should change, if it works it should continue to work.

VDE networking does not work on 2.6.29-rc*.
The patch here attached seems to fix the problem.
Is it correct to switch off the IRQF_DISABLED flag for networking IRQ?

       renzo
-----
--- arch/um/drivers/net_kern.c.orig     2009-03-11 21:16:36.000000000 +0100
+++ arch/um/drivers/net_kern.c  2009-03-11 21:16:46.000000000 +0100
@@ -165,7 +165,7 @@
       }

       err = um_request_irq(dev->irq, lp->fd, IRQ_READ, uml_net_interrupt,
-                            IRQF_DISABLED | IRQF_SHARED, dev->name, dev);
+                            IRQF_SHARED, dev->name, dev);
       if (err != 0) {
               printk(KERN_ERR "uml_net_open: failed to get irq(%d)\n", err);
               err = -ENETUNREACH;



------------------------------------------------------------------------------
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel