Rename ndpr_refcnt to ndpr_addrcnt.

This field counts derived addresses and is not a true refcount for prefix
objects, so the previous name was misleading.

MFC after:	1 week
This commit is contained in:
markj 2016-09-24 01:14:25 +00:00
parent 900b983665
commit e89e3efaa6
4 changed files with 12 additions and 12 deletions

View File

@ -630,7 +630,7 @@ in6_control(struct socket *so, u_long cmd, caddr_t data,
/* relate the address to the prefix */
if (ia->ia6_ndpr == NULL) {
ia->ia6_ndpr = pr;
pr->ndpr_refcnt++;
pr->ndpr_addrcnt++;
/*
* If this is the first autoconf address from the
@ -638,7 +638,7 @@ in6_control(struct socket *so, u_long cmd, caddr_t data,
* (when required).
*/
if ((ia->ia6_flags & IN6_IFF_AUTOCONF) &&
V_ip6_use_tempaddr && pr->ndpr_refcnt == 1) {
V_ip6_use_tempaddr && pr->ndpr_addrcnt == 1) {
int e;
if ((e = in6_tmpifadd(ia, 1, 0)) != 0) {
log(LOG_NOTICE, "in6_control: failed "
@ -690,11 +690,11 @@ in6_control(struct socket *so, u_long cmd, caddr_t data,
* and the prefix management. We do this, however, to provide
* as much backward compatibility as possible in terms of
* the ioctl operation.
* Note that in6_purgeaddr() will decrement ndpr_refcnt.
* Note that in6_purgeaddr() will decrement ndpr_addrcnt.
*/
pr = ia->ia6_ndpr;
in6_purgeaddr(&ia->ia_ifa);
if (pr && pr->ndpr_refcnt == 0)
if (pr && pr->ndpr_addrcnt == 0)
prelist_remove(pr);
EVENTHANDLER_INVOKE(ifaddr_event, ifp);
break;
@ -1305,9 +1305,9 @@ in6_unlink_ifa(struct in6_ifaddr *ia, struct ifnet *ifp)
"in6_unlink_ifa: autoconf'ed address "
"%s has no prefix\n", ip6_sprintf(ip6buf, IA6_IN6(ia))));
} else {
ia->ia6_ndpr->ndpr_refcnt--;
ia->ia6_ndpr->ndpr_addrcnt--;
/* Do not delete lles within prefix if refcont != 0 */
if (ia->ia6_ndpr->ndpr_refcnt == 0)
if (ia->ia6_ndpr->ndpr_addrcnt == 0)
remove_lle = 1;
ia->ia6_ndpr = NULL;
}

View File

@ -1159,7 +1159,7 @@ nd6_purge(struct ifnet *ifp)
* still be above zero. We therefore reset it to
* make sure that the prefix really gets purged.
*/
pr->ndpr_refcnt = 0;
pr->ndpr_addrcnt = 0;
prelist_remove(pr);
}
@ -2674,7 +2674,7 @@ nd6_sysctl_prlist(SYSCTL_HANDLER_ARGS)
else
p.expire = maxexpire;
}
p.refcnt = pr->ndpr_refcnt;
p.refcnt = pr->ndpr_addrcnt;
p.flags = pr->ndpr_stateflags;
p.advrtrs = 0;
LIST_FOREACH(pfr, &pr->ndpr_advrtrs, pfr_entry)

View File

@ -275,7 +275,7 @@ struct nd_prefix {
/* list of routers that advertise the prefix: */
LIST_HEAD(pr_rtrhead, nd_pfxrouter) ndpr_advrtrs;
u_char ndpr_plen;
int ndpr_refcnt; /* reference couter from addresses */
int ndpr_addrcnt; /* count of derived addresses */
};
#define ndpr_raf ndpr_flags

View File

@ -1053,7 +1053,7 @@ prelist_remove(struct nd_prefix *pr)
/* what should we do? */
}
if (pr->ndpr_refcnt > 0)
if (pr->ndpr_addrcnt > 0)
return; /* notice here? */
/* unlink ndpr_entry from nd_prefix list */
@ -1356,7 +1356,7 @@ prelist_update(struct nd_prefixctl *new, struct nd_defrouter *dr,
/*
* note that we should use pr (not new) for reference.
*/
pr->ndpr_refcnt++;
pr->ndpr_addrcnt++;
ia6->ia6_ndpr = pr;
/*
@ -2114,7 +2114,7 @@ in6_tmpifadd(const struct in6_ifaddr *ia0, int forcegen, int delay)
return (EINVAL); /* XXX */
}
newia->ia6_ndpr = ia0->ia6_ndpr;
newia->ia6_ndpr->ndpr_refcnt++;
newia->ia6_ndpr->ndpr_addrcnt++;
ifa_free(&newia->ia_ifa);
/*