mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-16 10:20:30 +00:00
Move RTM announces into generic code to be independent from Layer2 code.
This fixes bug introduced in 274988, when announces about new addresses don't sent for tunneling interfaces. Reported by: tuexen@ MFC after: 1 week
This commit is contained in:
parent
6b6b47d0e3
commit
4e870f943f
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=283696
@ -1279,6 +1279,7 @@ in6_broadcast_ifa(struct ifnet *ifp, struct in6_aliasreq *ifra,
|
||||
nd6_dad_start((struct ifaddr *)ia, delay);
|
||||
}
|
||||
|
||||
in6_newaddrmsg(ia, RTM_ADD);
|
||||
ifa_free(&ia->ia_ifa);
|
||||
return (error);
|
||||
}
|
||||
@ -1327,6 +1328,7 @@ in6_purgeaddr(struct ifaddr *ifa)
|
||||
ia->ia_flags &= ~IFA_ROUTE;
|
||||
}
|
||||
|
||||
in6_newaddrmsg(ia, RTM_DELETE);
|
||||
in6_unlink_ifa(ia, ifp);
|
||||
}
|
||||
|
||||
|
@ -2185,7 +2185,6 @@ nd6_add_ifa_lle(struct in6_ifaddr *ia)
|
||||
ln->la_expire = 0; /* for IPv6 this means permanent */
|
||||
ln->ln_state = ND6_LLINFO_REACHABLE;
|
||||
LLE_WUNLOCK(ln);
|
||||
in6_newaddrmsg(ia, RTM_ADD);
|
||||
return (0);
|
||||
}
|
||||
|
||||
@ -2205,8 +2204,6 @@ nd6_rem_ifa_lle(struct in6_ifaddr *ia)
|
||||
struct sockaddr_in6 mask, addr;
|
||||
struct ifnet *ifp;
|
||||
|
||||
in6_newaddrmsg(ia, RTM_DELETE);
|
||||
|
||||
ifp = ia->ia_ifa.ifa_ifp;
|
||||
memcpy(&addr, &ia->ia_addr, sizeof(ia->ia_addr));
|
||||
memcpy(&mask, &ia->ia_prefixmask, sizeof(ia->ia_prefixmask));
|
||||
|
Loading…
Reference in New Issue
Block a user