From owner-freebsd-stable@FreeBSD.ORG Sat Dec 30 02:19:52 2006 Return-Path: X-Original-To: freebsd-stable@freebsd.org Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0836E16A407; Sat, 30 Dec 2006 02:19:51 +0000 (UTC) (envelope-from dimitry@andric.com) Received: from tensor.andric.com (tensor.andric.com [213.154.244.69]) by mx1.freebsd.org (Postfix) with ESMTP id 59F0D13C442; Sat, 30 Dec 2006 02:19:51 +0000 (UTC) (envelope-from dimitry@andric.com) Received: from [192.168.0.3] (kilgore.lan.dim [192.168.0.3]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTP id 838F1B810; Sat, 30 Dec 2006 02:56:27 +0100 (CET) Message-ID: <4595C753.5030502@andric.com> Date: Sat, 30 Dec 2006 02:56:35 +0100 From: Dimitry Andric User-Agent: Thunderbird 2.0b1 (Windows/20061223) MIME-Version: 1.0 To: freebsd-stable@freebsd.org X-Enigmail-Version: 0.94.0.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: Joe Marcus Clarke Subject: gif problems in -STABLE X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 30 Dec 2006 02:19:52 -0000 Hi, I just updated one of my machines from RELENG_6 as of 2006-11-03, to RELENG_6 as of 2006-12-29. This caused the IPv6 tunnel which this box uses, which had been doing fine for months, to suddenly stop working. Reverting to my 2006-11-03 kernel restored the tunnel again, so my ISP could be ruled out. :) The symptoms are that the IPv6 default gateway cannot be reached, and you'll get "ping6: sendmsg: No route to host" when you try to ping it. For some reason, the ifconfig command now fails to create the proper routing table entries. With the 2006-11-03 kernel, if I configure my gif0 tunnel as follows: ifconfig gif0 create ifconfig gif0 213.154.244.69 193.109.122.244 ifconfig gif0 inet6 2001:7b8:2ff:146::2 2001:7b8:2ff:146::1 prefixlen 128 route add -inet6 default 2001:7b8:2ff:146::1 I get the following entries in the routing table: Internet6: Destination Gateway Flags Netif Expire ::/96 ::1 UGRS lo0 => default 2001:7b8:2ff:146::1 UGS gif0 ::1 ::1 UHL lo0 ::ffff:0.0.0.0/96 ::1 UGRS lo0 2001:7b8:2ff:146::1 link#6 UHL gif0 2001:7b8:2ff:146::2 link#6 UHL lo0 ... If I use the 2006-12-29 kernel, the routing table after exactly the same sequence of commands is: Internet6: Destination Gateway Flags Netif Expire ::/96 ::1 UGRS lo0 => default 2001:7b8:2ff:146::1 UGS gif0 ::1 ::1 UHL lo0 ::ffff:0.0.0.0/96 ::1 UGRS lo0 2001:7b8:2ff:146::2 link#6 UHL lo0 ... So, for some reason, the 2001:7b8:2ff:146::1 entry is not automatically created anymore. Of course, you could add this manually, but it's rather strange that this behaviour has changed. After some Googling, I found this thread about -current, which seems to describe approximately the same problem: http://lists.freebsd.org/pipermail/freebsd-current/2006-December/067830.html However, the thread seems to have no real conclusion as to what the cause or proper solution is. There are two possible solutions mentioned, though: 1) Using something like: ipv6_defaultrouter="::1 -ifp gif0" This doesn't work for me, unless I set the prefixlen for the whole gif0 tunnel to 64; but in that case I don't need the ::1 -ifp stuff either. 2) Using something like: ipv6_ifconfig_gif0="2001:7b8:2ff:146::2 prefixlen 126" This does work, though I find it strange that such functionality is changed so shortly before a release. :) Does anyone have a clue where this changed behaviour comes from, or where in the source tree I should look to find the commit that caused it? Maybe it would be nicer to revert to the previous behaviour for 6.2-RELEASE, since it will cause many non-working tunnels when people upgrade. Or otherwise at least put a big notice in UPDATING or the release notes. :) Cheers, Dimitry