Subject: kern/27277: gif ip6/ip6 broken by USE_RADIX
To: None <gnats-bugs@gnats.NetBSD.org>
From: Manuel Bouyer <bouyer@rp.lip6.fr>
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
>Closed-Date:
>Last-Modified:
>Originator: Manuel Bouyer
>Release: NetBSD 2.0_RC4
>Organization:
LIP6, Universite Paris VI
>Environment:
System: NetBSD diogene.ipv6.lip6.fr 2.0_RC4 NetBSD 2.0_RC4 (GENERIC) #4: Sat Oct 16 23:00:33 CEST 2004 bouyer@pop.lip6.fr:/local/pop1/bouyer/tmp/i386/obj/local/pop1/bouyer/netbsd-2-0/src/sys/arch/i386/compile/GENERIC i386
Architecture: i386
Machine: i386
>Description:
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).
>How-To-Repeat:
Configure a ip6 in ip6 GIF tunnel
>Fix:
workaround:
vi netinet/ip_encap.c
:1,$s/define USE_RADIX/undef USE_RADIX/
:x
and rebuild kernel.
>Release-Note:
>Audit-Trail:
>Unformatted: