[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: "Automatic" v6 address allocation



On Thu, 2006-02-23 at 15:40 -0500, Curt Howland wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Hi. I've been trying to subscribe to this list, but for some reason 
> I'm not getting the subscribe challenge/response emails. Oh well.
> 
> Recently I've changed from my orinoco 802.11b card to a 802.11g card 
> that takes the MadWIFI drivers. All well and good, it builds, 
> installs, recognizes the card and away we go with a new "ath0" 
> interface.
> 
> But, it takes 10-15 minutes before it detects/creates a global IPv6 
> address for itself.
> 
> With the previous card, it took maybe a minute or two. Annoying, but 
> hardly impossible to deal with.
> 
> I'm using a Debian box as the "router", and I know that the interface 
> is getting its address from there because it's always picking up the 
> right subnet. 
> 
> If I give it an address, then it will accept it but sometime (after 10 
> to 15 minutes) it again grabs an address and *adds* it to the 
> interface in addition to the address I defined by hand.
> 
> Is there some way to speed this process up?

Do you mean the link-local (fe80::/10) address or the global address ?

The first should pop up directly on the interface, as it gets generated
by the kernel based on the mac address of the interface.

The second gets assigned by ICMPv6 Router Advertisement. When the
interface goes up, it sends out a ICMPv6 packet (Router Solicitation) to
request neighbouring routers to send the above RA which contains the
prefix to use for that subnet. Routers also periodically send out the RA
to update all the clients in one go.

There can be a couple of things going wrong here:
1) packetloss on the network, thus causing you to miss out on the RA's
   and the router to miss the RtSol's.

   This is the most likely case, especially in wireless networks.

2) RA is send out not often enough, check the configuration of the RA
   daemon on the router, on linux:
    MaxRtrAdvInterval <seconds>
    MinRtrAdvInterval <seconds>
    MinDelayBetweenRAs <seconds>

In general one should not touch those values though and they should
work(tm), thus just using the defaults should work. eg for me I just
have:
8<-------------
jeroen@purgatory:~$ cat /etc/radvd.conf 
interface eth0
{
   AdvSendAdvert on;
   prefix 2001:7b8:20d::/64
   {
   };
}; 
------------->8

and that works flawlessly...

To debug, try running a (t)ethereal/tcpdump on the router and see if the
rtsol/ra's are actually send and received correctly.

Greets,
 Jeroen

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: