Subject: kern/27277: gif ip6/ip6 broken by USE_RADIX
To: None <>
From: Manuel Bouyer <>
List: netbsd-bugs
Date: 10/16/2004 23:16:28
>Number:         27277
>Category:       kern
>Synopsis:       gif ip6/ip6 broken by USE_RADIX
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Oct 16 21:12:00 UTC 2004
>Originator:     Manuel Bouyer
>Release:        NetBSD 2.0_RC4
LIP6, Universite Paris VI
System: NetBSD 2.0_RC4 NetBSD 2.0_RC4 (GENERIC) #4: Sat Oct 16 23:00:33 CEST 2004 i386
Architecture: i386
Machine: i386
	A gif ip6 in ip6 tunnel isn't functionnal. A tcpdump on the physical
	interface shows that packets are properly sent, but packets from the
	remote end are ignored, and a "icmp6: parameter problem next header -
	octet 6" packet is sent back to the remote end.

	I tracked this down to encap6_lookup() not finding a struct encaptab
	for the packet. More specifically, rnh_matchaddr() doesn't find a
	match for the packet. #undef'ing USE_RADIX in netinet/ip_encap.c makes
	gif work again. I didn't debug this further as I'm working remotely
	on this system, without console access.
	gif configuration available on request (I don't want to post these
	adresses to a public list).

	Configure a ip6 in ip6 GIF tunnel
	vi netinet/ip_encap.c
	:1,$s/define USE_RADIX/undef USE_RADIX/

	and rebuild kernel.