Previous old IPv6 LL address is stored in the 'wo' structure. In 'go'/'ho'
is stored new address which needs to be assigned on interface.
Without this patch pppd in demand IPv6 mode always let previous IPv6 LL
address on interface and failed on error:
cif6addr: ioctl(SIOCDIFADDR): No such address
Because it tried to remove new address from interface which obviously was
not set.
Signed-off-by: Pali Rohár <pali@kernel.org>
if (! eui64_equals(ho->hisid, wo->hisid))
warn("Remote LL address changed to %s",
llv6_ntoa(ho->hisid));
- ipv6cp_clear_addrs(f->unit, go->ourid, ho->hisid);
+ ipv6cp_clear_addrs(f->unit, wo->ourid, wo->hisid);
/* Set the interface to the new addresses */
if (!sif6addr(f->unit, go->ourid, ho->hisid)) {