Changeset View
Changeset View
Standalone View
Standalone View
head/sys/netinet6/nd6_nbr.c
Show First 20 Lines • Show All 888 Lines • ▼ Show 20 Lines | #endif | ||||
ln->la_asked = 0; | ln->la_asked = 0; | ||||
if (ln->la_hold != NULL) | if (ln->la_hold != NULL) | ||||
nd6_grab_holdchain(ln, &chain, &sin6); | nd6_grab_holdchain(ln, &chain, &sin6); | ||||
freeit: | freeit: | ||||
if (ln != NULL) | if (ln != NULL) | ||||
LLE_WUNLOCK(ln); | LLE_WUNLOCK(ln); | ||||
if (chain != NULL) | if (chain != NULL) | ||||
nd6_flush_holdchain(ifp, ifp, chain, &sin6); | nd6_flush_holdchain(ifp, chain, &sin6); | ||||
if (checklink) | if (checklink) | ||||
pfxlist_onlink_check(); | pfxlist_onlink_check(); | ||||
m_freem(m); | m_freem(m); | ||||
return; | return; | ||||
bad: | bad: | ||||
▲ Show 20 Lines • Show All 604 Lines • ▼ Show 20 Lines | nd6_dad_ns_output(struct dadq *dp) | ||||
} | } | ||||
nd6_ns_output(ifp, NULL, NULL, &ia->ia_addr.sin6_addr, | nd6_ns_output(ifp, NULL, NULL, &ia->ia_addr.sin6_addr, | ||||
(uint8_t *)&dp->dad_nonce[0]); | (uint8_t *)&dp->dad_nonce[0]); | ||||
} | } | ||||
static void | static void | ||||
nd6_dad_ns_input(struct ifaddr *ifa, struct nd_opt_nonce *ndopt_nonce) | nd6_dad_ns_input(struct ifaddr *ifa, struct nd_opt_nonce *ndopt_nonce) | ||||
{ | { | ||||
struct in6_ifaddr *ia; | |||||
struct ifnet *ifp; | |||||
const struct in6_addr *taddr6; | |||||
struct dadq *dp; | struct dadq *dp; | ||||
if (ifa == NULL) | if (ifa == NULL) | ||||
panic("ifa == NULL in nd6_dad_ns_input"); | panic("ifa == NULL in nd6_dad_ns_input"); | ||||
ia = (struct in6_ifaddr *)ifa; | |||||
ifp = ifa->ifa_ifp; | |||||
taddr6 = &ia->ia_addr.sin6_addr; | |||||
/* Ignore Nonce option when Enhanced DAD is disabled. */ | /* Ignore Nonce option when Enhanced DAD is disabled. */ | ||||
if (V_dad_enhanced == 0) | if (V_dad_enhanced == 0) | ||||
ndopt_nonce = NULL; | ndopt_nonce = NULL; | ||||
dp = nd6_dad_find(ifa, ndopt_nonce); | dp = nd6_dad_find(ifa, ndopt_nonce); | ||||
if (dp == NULL) | if (dp == NULL) | ||||
return; | return; | ||||
dp->dad_ns_icount++; | dp->dad_ns_icount++; | ||||
Show All 17 Lines |