IPV6 problem : nd6_lookup: failed to add route for a neighbor

Tuc at T-B-O-H.NET ml at t-b-o-h.net
Fri Jun 27 17:28:08 UTC 2008


> > kernel: nd6_lookup: failed to add route for a neighbor(2001:0470:0007:0028::0001), errno=17
> > 
> > Client IPv6 address:  	2001:470:7:28::2/64
> > 
> > The script they suggest, and I used, is :
> > 
> > ifconfig gif0 create
> > ifconfig gif0 tunnel MYIP 216.66.22.2
> > ifconfig gif0 inet6 2001:470:7:28::2 2001:470:7:28::1 prefixlen 128
> > route -n add -inet6 default 2001:470:7:28::1
> > ifconfig gif0 up
> > 
> > 	The tunnel came up, was passing traffic, but those messages were
> > getting out of hand. I tried a prefixlen of 64, and I got:
> 
> ...hmmmm. I'm not certain here, but since /128 represents only a single 
> address, I can understand why FreeBSD is getting confused. A /128 is an 
> IP within its own solitary subnet, so I'd have to guess that you need a 
> route to the remote end of the tunnel before you can set it as a default 
> gateway.
>
	Even though its a directly connected endpoint? I was going to
ask if trying :

route -n add -inet6 default gif0

	might make it happier, but it seems route on FBSD 5.5 doesn't
accept that format of command. :-/ I also saw suggestions to change
the prefixlen to 127, but I get the sem ioctl issue.

	I don't want to say "But it works elsewhere", but... doing :

ipv6_enable="YES"
gif_interfaces="gif0"
ipv6_defaultrouter="2001:470:1F00:FFFF::5E4"
gifconfig_gif0="MYIP 64.71.128.82"
ipv6_ifconfig_gif0="2001:470:1F00:FFFF::5E5 2001:470:1F00:FFFF::5E4 prefixlen 128" 

	on a 4.10-STABLE system works fine... But I realize theres been
alot of code work since that beast.
>
> I've been needing to set up a few more tunnels, so I'll try one with 
> FreeBSD this morning with the same setup you have to try to replicate 
> the problem (on 7.0).
>
	Ok, thanks. I'm a bit confused also by something I found on the net...

http://lists.freebsd.org/pipermail/freebsd-net/2006-May/010718.html

	Seemed to be a set of patches around this very issue. I've looked
at a 7.0-STABLE system and I don't see those changes. But it could very
well be that it was updated differently before finally getting into
the codebase. I'm not sure how one goes about verifying it. CVSWEB?
> 
> > 	ifconfig: ioctl (SIOCAIFADDR): Invalid argument
> 
> What was the command that you had entered when you received the above 
> error? When you tried to change prefix length, did you destroy the 
> existing tunnel first?
>
	Sorry. I tried :

ifconfig gif0 inet6 2001:470:7:28::2 2001:470:7:28::1 prefixlen 64

	I had destroyed the tunnel and started from scratch...
> 
> > Sendmail seemed a bit cranky :
> > 
> > Jun 26 23:53:19 MYHOST sendmail[17543]: gethostbyaddr(IPv6:2001:470:7:28::2) failed: 1
> 
> I believe this is a reverse DNS issue. From how I perceive that message, 
> Sendmail is trying to retrieve a hostname based on that IP.
> 
	Yea, not sure why I mentioned that. But in any case, not sure what
to do to remedy the situation.

		Thanks, Tuc


More information about the freebsd-net mailing list