Subject: Re: How to use properly ipv6 autoconf over a router interface?
To: None <tech-net@netbsd.org>
From: Rui Paulo <rpaulo@fnop.net>
List: tech-net
Date: 04/30/2006 21:54:40
"Konstantin KABASSANOV" <Konstantin.Kabassanov@lip6.fr> writes:

>> -----Message d'origine-----
>> De : tech-net-owner@NetBSD.org [mailto:tech-net-owner@NetBSD.org] De la
>> part de Rui Paulo
>> Envoyé : dimanche 30 avril 2006 21:46
>> À : tech-net@NetBSD.org
>> Objet : Re: How to use properly ipv6 autoconf over a router interface?
>> 
>> How many seconds are  you sleeping ? You probably need to sleep
>> dad_count+1 seconds:
>> sleep `sysctl -n net.inet6.ip6.dad_count`
>> sleep 1
>> 
>
> I put "sleep 5" until net.inet6.ip6.dad_count=1
>
>> I don't know if you already mentioned but: do you have rtsold
>> activated ?
>
> No, I don't. 
>
> I think I was not very clear... It seems that the rtsol succeeds, because
> the interface obtains a valid global ipv6 address. The problem is that the
> default route provided in the received rtadv message is not put in the
> kernel routing table.  

That may be because forwarding=1 is set when doing a rtsol.

So, can you try this ?
    * remove ip6mode=router from rc.conf
    * make ifconfig.ath1 look like:
      !sysctl -w net.inet6.ip6.forwarding=0
      !sysctl -w net.inet6.ip6.accept_rtadv=1
      !rtsol $int
      !sleep 2
      !sysctl -w net.inet6.ip6.accept_rtadv=0
      !sysctl -w net.inet6.ip6.forwarding=1

If this doesn't work, I'm out of ideas..
-- 
  Rui Paulo			<rpaulo@{NetBSD{,-PT}.org,fnop.net}>