From owner-freebsd-net@FreeBSD.ORG Mon Sep 10 09:09:21 2012 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6BD6B1065672 for ; Mon, 10 Sep 2012 09:09:21 +0000 (UTC) (envelope-from list_freebsd@bluerosetech.com) Received: from yoshi.bluerosetech.com (yoshi.bluerosetech.com [IPv6:2607:f2f8:a450::66]) by mx1.freebsd.org (Postfix) with ESMTP id 4ED9D8FC16 for ; Mon, 10 Sep 2012 09:09:21 +0000 (UTC) Received: from vivi.cat.pdx.edu (vivi.cat.pdx.edu [IPv6:2610:10:20:214::6]) by yoshi.bluerosetech.com (Postfix) with ESMTPSA id 3BB97E606F for ; Mon, 10 Sep 2012 02:09:15 -0700 (PDT) Received: from [127.0.0.1] (c-76-27-220-79.hsd1.wa.comcast.net [76.27.220.79]) by vivi.cat.pdx.edu (Postfix) with ESMTPSA id 6214924CDE for ; Mon, 10 Sep 2012 02:09:14 -0700 (PDT) Message-ID: <504DAE39.3040204@bluerosetech.com> Date: Mon, 10 Sep 2012 02:09:13 -0700 From: Darren Pilgrim User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:10.0.6esrpre) Gecko/20120713 Thunderbird/10.0.6 MIME-Version: 1.0 To: freebsd-net@freebsd.org Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: isc-dhcp42-server "no route to host" error due to fe80::/10 route X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Sep 2012 09:09:21 -0000 I have isc-dhcp42-server-4.2.4_1 installed from ports on an amd64 8.3-p3 machine acting as an IPv6 router using SLAAC and stateless DHCPv6. When machines do DHCPv6 Information Requests (per the RA's O flag), I can see in the DHCPv6 server logging the requests like this: Sep 10 01:20:31 chombo dhcpd: Information-request message from fe80::e812:4ecc:5220:8206 port 546, transaction ID 0x5A5CE500 Sep 10 01:20:31 chombo dhcpd: Sending Reply to fe80::e812:4ecc:5220:8206 port 546 Sep 10 01:20:31 chombo dhcpd: send_packet6: No route to host Sep 10 01:20:31 chombo dhcpd: dhcpv6: send_packet6() sent -1 of 92 bytes I used tcpdump to watch the exchange and the replies never make it onto the wire. Looking at my route table[1], I see the usual scoped link-local routes, plus this one: Destination Gateway Flags Netif Expire fe80::/10 ::1 UGRS lo0 Okay, so it looks like link-local is routed to the loopback by default. As a test, I changed that to the lan interface: # route delete -inet6 fe80:: -prefixlen 10 delete net fe80:: # route add -inet6 fe80:: -prefixlen 10 -iface lan add net fe80::: gateway lan Which fixes the "No route to host" problem (machines now get DHCPv6 just fine). The rub is, I will need to do DHCPv6 on fxp0 as well. Why would there be that fe80::/10 via lo0 route in the first place? How do I get the DHCPv6 replies to go out the interfaces on which the requests came in? Is this a bug in isc-dhcp42-server such that it isn't correctly setting the interface scope on its replies? 1: http://pastie.org/4694484