netdev
[Top] [All Lists]

Re: unregister_netdevice: waiting for tun6to4 to become free.

To: Jeff Garzik <jgarzik@xxxxxxxxx>
Subject: Re: unregister_netdevice: waiting for tun6to4 to become free.
From: Andre Tomt <andre@xxxxxxxx>
Date: Tue, 21 Sep 2004 08:24:47 +0200
Cc: Pekka Pietikainen <pp@xxxxxxxxxx>, netdev@xxxxxxxxxxx
In-reply-to: <414F7CD9.3090008@xxxxxxxxx>
References: <20040920212453.GA15392@xxxxxxxxxx> <414F7CD9.3090008@xxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Mozilla Thunderbird 0.8 (X11/20040918)
Jeff Garzik wrote:
I hit this _once_ on my gateway (NAT'ing firewall IPv4, now also IPv6 router).

No idea why it went away, I just assumed a more recent kernel fixed something.

We've been seeing this all the time on 2.6.8.1 + "critical fixes". Pretty much anytime a router with tunneling interfaces is taken down for shutdown or reboot, it hangs spinning waiting for the tunnel devices to get freed, as ifdown gets run.

It also happens when ifdown'ing them by themselfes.

It's rather annoying, as doing a sysrq-boot is pretty much the only way out. Not good at all on a router :-)

I'm having some problems getting this reproduced in the lab setup, but I did get a sysrq-t out of one of the affected production routers:

| Sep 18 00:53:36 ed-gw1 kernel: ip S C0350720 0 1725 1723 (NOTLB) | Sep 18 00:53:36 ed-gw1: dd02ceb4 00000082 dd678190 c0350720 0000007c dec44400 dd02c000 e00fddae | Sep 18 00:53:36 ed-gw1 kernel: e25ac5eb 0000007c c14b36f0 00000199 0f055c16 0000007d dd678338 000351bf | Sep 18 00:53:36 ed-gw1 kernel: dd02cec8 dec44400 dd02c000 c026cb73 dd02cec8 000351bf e0038d9c c0356380
| Sep 18 00:53:36 ed-gw1 kernel: Call Trace:
| Sep 18 00:53:36 ed-gw1 kernel: [pg0+534273454/1070096384] addrconf_ifdown+0x3e/0x250 [ipv6] | Sep 18 00:53:36 ed-gw1 kernel: [schedule_timeout+99/192] schedule_timeout+0x63/0xc0 | Sep 18 00:53:36 ed-gw1 kernel: [process_timeout+0/16] process_timeout+0x0/0x10 | Sep 18 00:53:36 ed-gw1 kernel: [netdev_wait_allrefs+85/288] netdev_wait_allrefs+0x55/0x120 | Sep 18 00:53:36 ed-gw1 kernel: [netdev_run_todo+237/512] netdev_run_todo+0xed/0x200
| Sep 18 00:53:36 ed-gw1 kernel:  [dev_ioctl+438/752] dev_ioctl+0x1b6/0x2f0
| Sep 18 00:53:36 ed-gw1 kernel: [sock_ioctl+544/560] sock_ioctl+0x220/0x230
| Sep 18 00:53:36 ed-gw1 kernel:  [sys_ioctl+201/576] sys_ioctl+0xc9/0x240
| Sep 18 00:53:36 ed-gw1 kernel: [sysenter_past_esp+82/113] sysenter_past_esp+0x52/0x71

The tunnel is defined like this in /etc/network/interfaces (Debian Sarge)
| auto vid
| iface vid inet6 v4tunnel
|         address 2001:730:f:ffff::11
|         netmask 126
|         endpoint <remote ip>
|         local <local ip>
|         up /sbin/ip -6 route add 2001:730:f:12::/64 dev vid metric 1
|         up /sbin/ip -6 tunnel change vid ttl 255

Next time I'm doing anything I'll be sure I run ifdown in verbose mode, but my best guess is it failing at "ip tunnel del %iface%"

The kernel does not have NAT and/or connection tracking loaded on this router. Connection tracking is available as modules, but not loaded. NAT is not enabled at all.

<Prev in Thread] Current Thread [Next in Thread>