Ja ale mezitim kouknul do zdrojaku jadra. Nevyzkousel jsem to, ale na
prvni podivani si myslim, ze cely tenhle script je nadbytecny. Jadro v
pripade IFF_LOOPBACK na hodnotu auto_linklocal nehledi a adresu nahodi
vzdy.
Takze z tveho:
Vypada to, ze na lo0 se ll adresa nastavi vzdycky, ale nastavuje to
/etc/rc.d/link_local, takze si ho muzes upravit.
je to pravda az po druhou carku, ke zbytku je treba rict, ze na loopback
interface tento script vliv nema. A dokonce i v pripade, ze se pokusi
mit, tak nakonec neudela nic, co by uz nebylo hotovo.
A i z jineho duvodu je tenhle script podivny - chapu tu cast "kdyz neni
ipv6_enable ale podpora IPv6 JE zakompilovana v kernelu tak snuluj
auto_linklocal promennou".
Totalne ale nechapu ten dalsi krok - ten nastavuje LL adresu na lo0.
Klicove ale je "na jakou". Ziska ji volanim network6_getladdr(lo0). A
jak ji ziska ta ? No, pusti si ifconfig pro zadany interface, najde na
nem LL adresu a tu vrati.
Tak nejak se mi zda, ze v tom je kruh ...
Dan
No, skript na mem pocitaci vypada viz nize a nevidim na nem nic
spatnyho. Kdyz na if adresa neni, nastavi ji na fe80::1, kdyz je, nedela
nic.
Vztah jadra k ll na lo0 , jsem nezkoumal, protoze kdyz jsem o to
zajimal, potreboval jsem nastavit ll adresu na normalnim if na bezicim
stroji. Kazdopadne se mi ted nepodarilo ji smazat.
v,
auto_linklocal_start()
{
if ! checkyesno ipv6_enable && ${SYSCTL} net.inet6 > /dev/null
2>&1; then
${SYSCTL_W} net.inet6.ip6.auto_linklocal=0
laddr=`network6_getladdr lo0`
if [ -z "${laddr}" ]; then
ifconfig lo0 inet6 fe80::1 prefixlen 64
fi
fi
}
--
FreeBSD mailing list (users-l@freebsd.cz)
http://www.freebsd.cz/listserv/listinfo/users-l