Date: Mon, 10 Sep 2012 02:09:13 -0700 From: Darren Pilgrim <list_freebsd@bluerosetech.com> To: freebsd-net@freebsd.org Subject: isc-dhcp42-server "no route to host" error due to fe80::/10 route Message-ID: <504DAE39.3040204@bluerosetech.com>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?504DAE39.3040204>