Lines Matching refs:fwd

435 		struct nd_prefix *fwd;  in nd6_if_prproxy()  local
448 for (fwd = nd_prefix.lh_first; fwd; fwd = fwd->ndpr_next) { in nd6_if_prproxy()
449 NDPR_LOCK(fwd); in nd6_if_prproxy()
450 if (!(fwd->ndpr_stateflags & NDPRF_ONLINK) || in nd6_if_prproxy()
451 !(fwd->ndpr_stateflags & NDPRF_IFSCOPE) || in nd6_if_prproxy()
452 fwd->ndpr_plen != pr_len || in nd6_if_prproxy()
453 !in6_are_prefix_equal(&fwd->ndpr_prefix.sin6_addr, fwd->ndpr_prefix.sin6_scope_id, in nd6_if_prproxy()
455 NDPR_UNLOCK(fwd); in nd6_if_prproxy()
458 NDPR_UNLOCK(fwd); in nd6_if_prproxy()
465 NDPR_ADDREF(fwd); in nd6_if_prproxy()
466 down->ndprl_pr = fwd; in nd6_if_prproxy()
596 struct nd_prefix *fwd; in nd6_proxy_find_fwdroute() local
615 for (fwd = nd_prefix.lh_first; fwd; fwd = fwd->ndpr_next) { in nd6_proxy_find_fwdroute()
616 NDPR_LOCK(fwd); in nd6_proxy_find_fwdroute()
617 if (!(fwd->ndpr_stateflags & NDPRF_ONLINK) || in nd6_proxy_find_fwdroute()
618 fwd->ndpr_ifp == ifp || in nd6_proxy_find_fwdroute()
619 fwd->ndpr_plen != pr_len || in nd6_proxy_find_fwdroute()
620 !in6_are_prefix_equal(&fwd->ndpr_prefix.sin6_addr, fwd->ndpr_prefix.sin6_scope_id, in nd6_proxy_find_fwdroute()
622 NDPR_UNLOCK(fwd); in nd6_proxy_find_fwdroute()
626 fwd_ifp = fwd->ndpr_ifp; in nd6_proxy_find_fwdroute()
627 NDPR_UNLOCK(fwd); in nd6_proxy_find_fwdroute()
871 struct nd_prefix *pr, *fwd; in nd6_prproxy_ns_output() local
916 for (fwd = nd_prefix.lh_first; fwd; fwd = fwd->ndpr_next) { in nd6_prproxy_ns_output()
917 NDPR_LOCK(fwd); in nd6_prproxy_ns_output()
918 if (!(fwd->ndpr_stateflags & NDPRF_ONLINK) || in nd6_prproxy_ns_output()
919 fwd->ndpr_ifp == ifp || fwd->ndpr_ifp == exclifp || in nd6_prproxy_ns_output()
920 fwd->ndpr_plen != pr_len || in nd6_prproxy_ns_output()
921 !in6_are_prefix_equal(&fwd->ndpr_prefix.sin6_addr, fwd->ndpr_prefix.sin6_scope_id, in nd6_prproxy_ns_output()
923 NDPR_UNLOCK(fwd); in nd6_prproxy_ns_output()
927 fwd_ifp = fwd->ndpr_ifp; in nd6_prproxy_ns_output()
928 NDPR_UNLOCK(fwd); in nd6_prproxy_ns_output()
935 NDPR_ADDREF(fwd); in nd6_prproxy_ns_output()
936 ndprl->ndprl_pr = fwd; in nd6_prproxy_ns_output()
994 struct nd_prefix *pr, *fwd; in nd6_prproxy_ns_input() local
1036 for (fwd = nd_prefix.lh_first; fwd; fwd = fwd->ndpr_next) { in nd6_prproxy_ns_input()
1037 NDPR_LOCK(fwd); in nd6_prproxy_ns_input()
1038 if (!(fwd->ndpr_stateflags & NDPRF_ONLINK) || in nd6_prproxy_ns_input()
1039 fwd->ndpr_ifp == ifp || in nd6_prproxy_ns_input()
1040 fwd->ndpr_plen != pr_len || in nd6_prproxy_ns_input()
1041 !in6_are_prefix_equal(&fwd->ndpr_prefix.sin6_addr, fwd->ndpr_prefix.sin6_scope_id, in nd6_prproxy_ns_input()
1043 NDPR_UNLOCK(fwd); in nd6_prproxy_ns_input()
1047 fwd_ifp = fwd->ndpr_ifp; in nd6_prproxy_ns_input()
1048 NDPR_UNLOCK(fwd); in nd6_prproxy_ns_input()
1055 NDPR_ADDREF(fwd); in nd6_prproxy_ns_input()
1056 ndprl->ndprl_pr = fwd; in nd6_prproxy_ns_input()
1179 struct nd_prefix *fwd; in nd6_prproxy_na_input() local
1188 for (fwd = nd_prefix.lh_first; fwd; in nd6_prproxy_na_input()
1189 fwd = fwd->ndpr_next) { in nd6_prproxy_na_input()
1190 NDPR_LOCK(fwd); in nd6_prproxy_na_input()
1191 if (!(fwd->ndpr_stateflags & NDPRF_ONLINK) || in nd6_prproxy_na_input()
1192 fwd->ndpr_ifp == ifp || in nd6_prproxy_na_input()
1193 fwd->ndpr_plen != pr_len || in nd6_prproxy_na_input()
1195 &fwd->ndpr_prefix.sin6_addr, fwd->ndpr_prefix.sin6_scope_id, in nd6_prproxy_na_input()
1197 NDPR_UNLOCK(fwd); in nd6_prproxy_na_input()
1201 fwd_ifp = fwd->ndpr_ifp; in nd6_prproxy_na_input()
1202 NDPR_UNLOCK(fwd); in nd6_prproxy_na_input()
1209 NDPR_ADDREF(fwd); in nd6_prproxy_na_input()
1210 ndprl->ndprl_pr = fwd; in nd6_prproxy_na_input()