Changeset View
Changeset View
Standalone View
Standalone View
sys/netpfil/ipfw/ip_fw_pfil.c
Context not available. | |||||
struct ip_fw_args args; | struct ip_fw_args args; | ||||
struct m_tag *mtag; | struct m_tag *mtag; | ||||
if (dir == PFIL_FWD) | |||||
dir = PFIL_OUT; | |||||
/* fetch start point from rule, if any. remove the tag if present. */ | /* fetch start point from rule, if any. remove the tag if present. */ | ||||
mtag = m_tag_locate(*m0, MTAG_IPFW_RULE, 0, NULL); | mtag = m_tag_locate(*m0, MTAG_IPFW_RULE, 0, NULL); | ||||
if (mtag == NULL) { | if (mtag == NULL) { | ||||
Context not available. | |||||
hook_func = (pf == AF_LINK) ? ipfw_check_frame : ipfw_check_packet; | hook_func = (pf == AF_LINK) ? ipfw_check_frame : ipfw_check_packet; | ||||
(void) (onoff ? pfil_add_hook : pfil_remove_hook) | (void) (onoff ? pfil_add_hook : pfil_remove_hook) | ||||
(hook_func, NULL, PFIL_IN | PFIL_OUT | PFIL_WAITOK, pfh); | (hook_func, NULL, PFIL_IN | PFIL_OUT | PFIL_FWD | PFIL_WAITOK, pfh); | ||||
return 0; | return 0; | ||||
} | } | ||||
Context not available. |