When a dvmrp tunnel is added by mrouted and the device tunl0 does not
exist then the tunnel creation fails. A quick look at the code shows that
ipmr.c does not even try to load the tunnel drivers even if they are
configured. For instance, I use ipip tunnels and so I have
"alias tunl0 ipip" in conf.modules. But since ipmr does not even try to
load it, it's no use.

Is this behaviour intentional? If not, then here are patches agains 2.2
and 2.3.99 kernels that add autoloading of tunl0 before first using it in
ip multicast router tunnel creation.


The 2.2 patch:
--- linux/net/ipv4/ipmr.c.old   Fri Jan  7 01:57:16 2000
+++ linux/net/ipv4/ipmr.c       Fri Jan  7 01:57:44 2000
@@ -89,6 +89,10 @@
 {
        struct device  *dev = NULL;
 
+#ifdef CONFIG_KMOD
+       dev_load("tunl0");
+#endif
+
        rtnl_lock();
        dev = dev_get("tunl0");
 
And the 2.3.99pre6-6 patch:
--- linux/net/ipv4/ipmr.c.old   Wed Apr 26 23:14:06 2000
+++ linux/net/ipv4/ipmr.c       Wed Apr 26 23:14:53 2000
@@ -119,6 +119,7 @@
 {
        struct net_device  *dev;
 
+       dev_load("tunl0");
        dev = __dev_get_by_name("tunl0");
 
        if (dev) {

--- 
Meelis Roos ([EMAIL PROTECTED])

-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to [EMAIL PROTECTED]

Reply via email to