ip: set arp entry for own v6 address when not tentative
after running ip/ipconfig -6, we are unable to ping our own link-local address and the arp daemon sends out useless neighbor solicitation requests to itself. this change adds an arp entry for our ipv6 address. however, this must not be done for tentative interface configuration.
This commit is contained in:
parent
7ad08a8515
commit
acb49987e6
1 changed files with 7 additions and 3 deletions
|
@ -538,8 +538,13 @@ out:
|
|||
wunlock(ifc);
|
||||
poperror();
|
||||
|
||||
if(tentative && sendnbrdisc)
|
||||
icmpns(f, 0, SRC_UNSPEC, ip, TARG_MULTI, ifc->mac);
|
||||
if(!isv4(ip) && ipcmp(ip, IPnoaddr) != 0){
|
||||
if(!tentative)
|
||||
arpenter(f, V6, ip, ifc->mac, 6, 0);
|
||||
else if(sendnbrdisc)
|
||||
icmpns(f, 0, SRC_UNSPEC, ip, TARG_MULTI, ifc->mac);
|
||||
}
|
||||
|
||||
return nil;
|
||||
}
|
||||
|
||||
|
@ -1566,7 +1571,6 @@ ipifcregisterproxy(Fs *f, Ipifc *ifc, uchar *ip)
|
|||
ipv62smcast(net, ip);
|
||||
addselfcache(f, nifc, lifc, net, Rmulti);
|
||||
arpenter(f, V6, ip, nifc->mac, 6, 0);
|
||||
// (*m->addmulti)(nifc, net, ip);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue