MCPcopy Create free account
hub / github.com/F-Stack/f-stack / nd6_grab_holdchain

Function nd6_grab_holdchain

freebsd/netinet6/nd6.c:2130–2153  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2128}
2129
2130void
2131nd6_grab_holdchain(struct llentry *ln, struct mbuf **chain,
2132 struct sockaddr_in6 *sin6)
2133{
2134
2135 LLE_WLOCK_ASSERT(ln);
2136
2137 *chain = ln->la_hold;
2138 ln->la_hold = NULL;
2139 lltable_fill_sa_entry(ln, (struct sockaddr *)sin6);
2140
2141 if (ln->ln_state == ND6_LLINFO_STALE) {
2142 /*
2143 * The first time we send a packet to a
2144 * neighbor whose entry is STALE, we have
2145 * to change the state to DELAY and a sets
2146 * a timer to expire in DELAY_FIRST_PROBE_TIME
2147 * seconds to ensure do neighbor unreachability
2148 * detection on expiration.
2149 * (RFC 2461 7.3.3)
2150 */
2151 nd6_llinfo_setstate(ln, ND6_LLINFO_DELAY);
2152 }
2153}
2154
2155int
2156nd6_output_ifp(struct ifnet *ifp, struct ifnet *origifp, struct mbuf *m,

Callers 2

nd6_cache_lladdrFunction · 0.85
nd6_na_inputFunction · 0.85

Calls 2

lltable_fill_sa_entryFunction · 0.85
nd6_llinfo_setstateFunction · 0.85

Tested by

no test coverage detected