Subject: ipv6 source address selection in addrconf.c (2.6.17)

From: Lukasz Stelmach <[email-masked]>
Date: Tue, 20 Jun 2006 23:38:46 +0200

Greetings.

net/ipv6/addrconf.c:971 is
/* Rule 2: Prefer appropriate scope */
if (hiscore.rule < 2) {
        hiscore.scope = __ipv6_addr_src_scope(hiscore.addr_type);
        hiscore.rule++;
}

I am afraid, that it does not make any sense for I find no place where a value
is assigned to hiscore.addr_type. There are some more references to
hiscore.addr_type below but the only assignment is when the whole structure is
cleaned with memset(3)

I found it when I was trying to figure out why when trying to connect to

2001:200:0:8002:203:47ff:fea5:3085 (www.kame.net)

with two global addresses assigned to the ethernet card

fd24:6f44:46bd:face::254
2002:531f:d667:face::254

rule 8 does not work and the first address is chosen.

Please CC answers.
-- 
Było mi bardzo miło.                    Czwarta pospolita klęska, [...]
>Łukasz<                      Już nie katolicka lecz złodziejska.  (c)PP