Changeset View
Changeset View
Standalone View
Standalone View
sys/netpfil/pf/pf_ioctl.c
Context not available. | |||||
int chk; | int chk; | ||||
CURVNET_SET(ifp->if_vnet); | CURVNET_SET(ifp->if_vnet); | ||||
chk = pf_test6(PF_OUT, ifp, m, inp); | chk = pf_test6(dir == PFIL_OUT ? PF_OUT : PF_FWD, ifp, m, inp); | ||||
CURVNET_RESTORE(); | CURVNET_RESTORE(); | ||||
if (chk && *m) { | if (chk && *m) { | ||||
m_freem(*m); | m_freem(*m); | ||||
Context not available. | |||||
if (pfh_inet == NULL) | if (pfh_inet == NULL) | ||||
return (ESRCH); /* XXX */ | return (ESRCH); /* XXX */ | ||||
pfil_add_hook(pf_check_in, NULL, PFIL_IN | PFIL_WAITOK, pfh_inet); | pfil_add_hook(pf_check_in, NULL, PFIL_IN | PFIL_WAITOK, pfh_inet); | ||||
pfil_add_hook(pf_check_out, NULL, PFIL_OUT | PFIL_WAITOK, pfh_inet); | pfil_add_hook(pf_check_out, NULL, PFIL_OUT | PFIL_FWD | PFIL_WAITOK, pfh_inet); | ||||
#endif | #endif | ||||
#ifdef INET6 | #ifdef INET6 | ||||
pfh_inet6 = pfil_head_get(PFIL_TYPE_AF, AF_INET6); | pfh_inet6 = pfil_head_get(PFIL_TYPE_AF, AF_INET6); | ||||
Context not available. | |||||
#ifdef INET | #ifdef INET | ||||
pfil_remove_hook(pf_check_in, NULL, PFIL_IN | PFIL_WAITOK, | pfil_remove_hook(pf_check_in, NULL, PFIL_IN | PFIL_WAITOK, | ||||
pfh_inet); | pfh_inet); | ||||
pfil_remove_hook(pf_check_out, NULL, PFIL_OUT | PFIL_WAITOK, | pfil_remove_hook(pf_check_out, NULL, PFIL_OUT | PFIL_FWD | PFIL_WAITOK, | ||||
pfh_inet); | pfh_inet); | ||||
#endif | #endif | ||||
return (ESRCH); /* XXX */ | return (ESRCH); /* XXX */ | ||||
} | } | ||||
pfil_add_hook(pf_check6_in, NULL, PFIL_IN | PFIL_WAITOK, pfh_inet6); | pfil_add_hook(pf_check6_in, NULL, PFIL_IN | PFIL_WAITOK, pfh_inet6); | ||||
pfil_add_hook(pf_check6_out, NULL, PFIL_OUT | PFIL_WAITOK, pfh_inet6); | pfil_add_hook(pf_check6_out, NULL, PFIL_OUT | PFIL_FWD | PFIL_WAITOK, | ||||
pfh_inet6); | |||||
#endif | #endif | ||||
V_pf_pfil_hooked = 1; | V_pf_pfil_hooked = 1; | ||||
Context not available. | |||||
return (ESRCH); /* XXX */ | return (ESRCH); /* XXX */ | ||||
pfil_remove_hook(pf_check_in, NULL, PFIL_IN | PFIL_WAITOK, | pfil_remove_hook(pf_check_in, NULL, PFIL_IN | PFIL_WAITOK, | ||||
pfh_inet); | pfh_inet); | ||||
pfil_remove_hook(pf_check_out, NULL, PFIL_OUT | PFIL_WAITOK, | pfil_remove_hook(pf_check_out, NULL, PFIL_OUT | PFIL_FWD | PFIL_WAITOK, | ||||
pfh_inet); | pfh_inet); | ||||
#endif | #endif | ||||
#ifdef INET6 | #ifdef INET6 | ||||
Context not available. | |||||
return (ESRCH); /* XXX */ | return (ESRCH); /* XXX */ | ||||
pfil_remove_hook(pf_check6_in, NULL, PFIL_IN | PFIL_WAITOK, | pfil_remove_hook(pf_check6_in, NULL, PFIL_IN | PFIL_WAITOK, | ||||
pfh_inet6); | pfh_inet6); | ||||
pfil_remove_hook(pf_check6_out, NULL, PFIL_OUT | PFIL_WAITOK, | pfil_remove_hook(pf_check6_out, NULL, PFIL_OUT | PFIL_FWD | PFIL_WAITOK, | ||||
pfh_inet6); | pfh_inet6); | ||||
#endif | #endif | ||||
Context not available. |