When I configure in Tunneling I get the following error message. Is this
normal? This with 2.4test9pre5
GRE over IPv4 tunneling driver
RTNL: assertion failed at devinet.c(775):inetdev_event
"Stephen E. Clark" wrote:
>
> When I configure in Tunneling I get the following error message. Is this
> normal? This with 2.4test9pre5
>
> GRE over IPv4 tunneling driver
> RTNL: assertion failed at devinet.c(775):inetdev_event
The rtnetlink lock needs to be taken around
register_netdevice(). There should be a function
which does these three common steps, but there isn't.
--- linux-2.4.0-test10-pre5/net/ipv4/ip_gre.c Sat Sep 9 16:19:30 2000
+++ linux-akpm/net/ipv4/ip_gre.c Sat Oct 28 21:44:23 2000
@@ -1266,7 +1266,9 @@
#ifdef MODULE
register_netdev(&ipgre_fb_tunnel_dev);
#else
+ rtnl_lock();
register_netdevice(&ipgre_fb_tunnel_dev);
+ rtnl_unlock();
#endif
inet_add_protocol(&ipgre_protocol);
Andrew Morton wrote:
>
> "Stephen E. Clark" wrote:
> >
> > When I configure in Tunneling I get the following error message. Is this
> > normal? This with 2.4test9pre5
> >
> > GRE over IPv4 tunneling driver
> > RTNL: assertion failed at devinet.c(775):inetdev_event
>
> The rtnetlink lock needs to be taken around
> register_netdevice(). There should be a function
> which does these three common steps, but there isn't.
>
> --- linux-2.4.0-test10-pre5/net/ipv4/ip_gre.c Sat Sep 9 16:19:30 2000
> +++ linux-akpm/net/ipv4/ip_gre.c Sat Oct 28 21:44:23 2000
> @@ -1266,7 +1266,9 @@
> #ifdef MODULE
> register_netdev(&ipgre_fb_tunnel_dev);
> #else
> + rtnl_lock();
> register_netdevice(&ipgre_fb_tunnel_dev);
> + rtnl_unlock();
> #endif
>
> inet_add_protocol(&ipgre_protocol);
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> Please read the FAQ at http://www.tux.org/lkml/
Thanks Andrew,
I also get the same error if I try to configure in normal IPV4
tunneling. I guess it needs the same kind of patch.
Oct 27 14:46:59 joker kernel: IPv4 over IPv4 tunneling driver
Oct 27 14:46:59 joker kernel: RTNL: assertion failed at
devinet.c(775):inetdev_event
Oct 27 14:46:59 joker kernel: GRE over IPv4 tunneling driver
Oct 27 14:46:59 joker kernel: RTNL: assertion failed at
devinet.c(775):inetdev_event
Steve
"Stephen E. Clark" wrote:
>
> I also get the same error if I try to configure in normal IPV4
> tunneling. I guess it needs the same kind of patch.
Yep.
--- linux-2.4.0-test10-pre5/net/ipv4/ipip.c Sat Sep 9 16:19:30 2000
+++ linux-akpm/net/ipv4/ipip.c Sun Oct 29 03:17:38 2000
@@ -894,7 +894,9 @@
#ifdef MODULE
register_netdev(&ipip_fb_tunnel_dev);
#else
+ rtnl_lock();
register_netdevice(&ipip_fb_tunnel_dev);
+ rtnl_unlock();
#endif
inet_add_protocol(&ipip_protocol);
There is even one more Andrew :-) Here is the full patch:
--- ./net/ipv4/ip_gre.c.~1~ Thu Aug 24 18:48:54 2000
+++ ./net/ipv4/ip_gre.c Sat Oct 28 09:59:43 2000
@@ -1266,7 +1266,9 @@
#ifdef MODULE
register_netdev(&ipgre_fb_tunnel_dev);
#else
+ rtnl_lock();
register_netdevice(&ipgre_fb_tunnel_dev);
+ rtnl_unlock();
#endif
inet_add_protocol(&ipgre_protocol);
--- ./net/ipv4/ipip.c.~1~ Thu Aug 24 19:15:47 2000
+++ ./net/ipv4/ipip.c Sat Oct 28 10:00:04 2000
@@ -894,7 +894,9 @@
#ifdef MODULE
register_netdev(&ipip_fb_tunnel_dev);
#else
+ rtnl_lock();
register_netdevice(&ipip_fb_tunnel_dev);
+ rtnl_unlock();
#endif
inet_add_protocol(&ipip_protocol);
--- ./net/ipv6/sit.c.~1~ Mon Oct 9 21:36:50 2000
+++ ./net/ipv6/sit.c Sat Oct 28 10:00:50 2000
@@ -829,7 +829,9 @@
#ifdef MODULE
register_netdev(&ipip6_fb_tunnel_dev);
#else
+ rtnl_lock();
register_netdevice(&ipip6_fb_tunnel_dev);
+ rtnl_unlock();
#endif
inet_add_protocol(&sit_protocol);
return 0;
On Sat, 28 Oct 2000, Andrew Morton wrote:
> The rtnetlink lock needs to be taken around
> register_netdevice(). There should be a function
> which does these three common steps, but there isn't.
I thought the only difference between register_netdev() and
register_netdevice() was that one took the rtnl_lock and the other didn't?
But it's been a while since I played with networking code.
--
dwmw2
David Woodhouse wrote:
>
> On Sat, 28 Oct 2000, Andrew Morton wrote:
>
> > The rtnetlink lock needs to be taken around
> > register_netdevice(). There should be a function
> > which does these three common steps, but there isn't.
>
> I thought the only difference between register_netdev() and
> register_netdevice() was that one took the rtnl_lock and the other didn't?
And, register_netdev allocates a name for you if necessary...
--
Jeff Garzik | "Mind if I drive?" -Sam
Building 1024 | "Not if you don't mind me clawing at the
MandrakeSoft | dash and shrieking like a cheerleader."
| -Max