Subject: kern/16704: v4 over v4 through GRE tunnel causes panics.
To: None <gnats-bugs@gnats.netbsd.org>
From: None <johani@autonomica.se>
List: netbsd-bugs
Date: 05/07/2002 23:15:37
>Number:         16704
>Category:       kern
>Synopsis:       v4 over v4 through GRE tunnel causes panics.
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue May 07 14:16:01 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Johan Ihren
>Release:        NetBSD 1.5ZC
>Organization:
	Autonomica, Sweden
>Environment:
System: NetBSD 1.5ZC (HAGRID) #1: Sat May 4 13:30:48 CEST 2002
Architecture: i386
Machine: i386
>Description:
	I recently set up a gre tunnel between two sites where I route a
	small prefix of v4 addresses from the first site to the other and
	hence need to use the tunnel as the default route at the downstream
	site. 

	During the configuration of this I've have any number of painful
	crashes on the machine with the downstream tunnel endpoint. These
	crashes come at different times, but are all "instant", in the sense
	of not ending up in ddb, nothing in the logs, just instant transfer
	to the BIOS and the box boots again. The quickest panic is in
	immediate response to a "route add default <other end of tunnel>"
	while the longest uptime is almost 24h.

	With more than a dozen panics in the past two days on a machine
	that otherwise only reboots for OS upgrades once every six months
	this is quite painful.

>How-To-Repeat:

I call on this script through /etc/rc.d/gretunnel. Obviously there is
a similar configuration at the other end with the difference that
instead of a default route into the tunnel there is a static route
into the tunnel for the small prefix 192.z.80.240/28

#!/bin/sh

# first make sure we have a more precise route to the tunnel end point
# 130.x.10.138 = publicly routed address at upstream site
# 213.y.164.129 = publicly routed address at this site (the downstream site)
route add -host 130.x.10.138 213.y.164.129

# then bring up gre0 using the tunnel addresses, upstream is 192.168.100.1
ifconfig gre0 create
ifconfig gre0 inet 192.168.100.2 192.168.100.1 netmask 255.255.255.255 link0 lin
k1 up
 
# do the rest of the GRE configuration using outside addresses
greconfig -v -i gre0 -s 213.y.164.150 -d 130.x.10.138

# finally fix the default route to point through the tunnel
route delete default
route add default 192.168.100.1

>Fix:
	Unknown.
>Release-Note:
>Audit-Trail:
>Unformatted:
 	-current as of May 4, 2002.