version 1.130, 2016/11/15 21:17:07 |
version 1.131, 2016/12/11 07:38:50 |
Line 819 nd6_na_input(struct mbuf *m, int off, in |
|
Line 819 nd6_na_input(struct mbuf *m, int off, in |
|
* context. However, we keep it just for safety. |
* context. However, we keep it just for safety. |
*/ |
*/ |
s = splsoftnet(); |
s = splsoftnet(); |
dr = defrouter_lookup(in6, ln->lle_tbl->llt_ifp); |
dr = nd6_defrouter_lookup(in6, ln->lle_tbl->llt_ifp); |
if (dr) |
if (dr) |
defrtrlist_del(dr, NULL); |
nd6_defrtrlist_del(dr, NULL); |
else if (!ip6_forwarding) { |
else if (!ip6_forwarding) { |
/* |
/* |
* Even if the neighbor is not in the default |
* Even if the neighbor is not in the default |
* router list, the neighbor may be used |
* router list, the neighbor may be used |
* as a next hop for some destinations |
* as a next hop for some destinations |
* (e.g. redirect case). So we must |
* (e.g. redirect case). So we must |
* call rt6_flush explicitly. |
* call nd6_rt_flush explicitly. |
*/ |
*/ |
rt6_flush(&ip6->ip6_src, ln->lle_tbl->llt_ifp); |
nd6_rt_flush(&ip6->ip6_src, ln->lle_tbl->llt_ifp); |
} |
} |
splx(s); |
splx(s); |
} |
} |
Line 853 nd6_na_input(struct mbuf *m, int off, in |
|
Line 853 nd6_na_input(struct mbuf *m, int off, in |
|
LLE_WUNLOCK(ln); |
LLE_WUNLOCK(ln); |
|
|
if (checklink) |
if (checklink) |
pfxlist_onlink_check(); |
nd6_pfxlist_onlink_check(); |
|
|
m_put_rcvif_psref(ifp, &psref); |
m_put_rcvif_psref(ifp, &psref); |
m_freem(m); |
m_freem(m); |