Changeset View
Changeset View
Standalone View
Standalone View
sys/netpfil/ipfw/ip_fw_nat.c
Show First 20 Lines • Show All 1,137 Lines • ▼ Show 20 Lines | ipfw_nat_get_log(struct sockopt *sopt) | ||||
} | } | ||||
IPFW_RUNLOCK(chain); | IPFW_RUNLOCK(chain); | ||||
sooptcopyout(sopt, data, size); | sooptcopyout(sopt, data, size); | ||||
free(data, M_IPFW); | free(data, M_IPFW); | ||||
return(0); | return(0); | ||||
} | } | ||||
static int | static int | ||||
vnet_ipfw_nat_init(const void *arg __unused) | vnet_ipfw_nat_init(void) | ||||
{ | { | ||||
V_ipfw_nat_ready = 1; | V_ipfw_nat_ready = 1; | ||||
return (0); | return (0); | ||||
} | } | ||||
static int | static int | ||||
vnet_ipfw_nat_uninit(const void *arg __unused) | vnet_ipfw_nat_uninit(void) | ||||
{ | { | ||||
struct cfg_nat *ptr, *ptr_temp; | struct cfg_nat *ptr, *ptr_temp; | ||||
struct ip_fw_chain *chain; | struct ip_fw_chain *chain; | ||||
chain = &V_layer3_chain; | chain = &V_layer3_chain; | ||||
IPFW_WLOCK(chain); | IPFW_WLOCK(chain); | ||||
V_ipfw_nat_ready = 0; | V_ipfw_nat_ready = 0; | ||||
LIST_FOREACH_SAFE(ptr, &chain->nat, _next, ptr_temp) { | LIST_FOREACH_SAFE(ptr, &chain->nat, _next, ptr_temp) { | ||||
▲ Show 20 Lines • Show All 68 Lines • ▼ Show 20 Lines | |||||
#define IPFW_NAT_MODULE_ORDER (IPFW_NAT_MODEVENT_ORDER + 1) | #define IPFW_NAT_MODULE_ORDER (IPFW_NAT_MODEVENT_ORDER + 1) | ||||
#define IPFW_NAT_VNET_ORDER (IPFW_NAT_MODEVENT_ORDER + 2) | #define IPFW_NAT_VNET_ORDER (IPFW_NAT_MODEVENT_ORDER + 2) | ||||
DECLARE_MODULE(ipfw_nat, ipfw_nat_mod, IPFW_NAT_SI_SUB_FIREWALL, SI_ORDER_ANY); | DECLARE_MODULE(ipfw_nat, ipfw_nat_mod, IPFW_NAT_SI_SUB_FIREWALL, SI_ORDER_ANY); | ||||
MODULE_DEPEND(ipfw_nat, libalias, 1, 1, 1); | MODULE_DEPEND(ipfw_nat, libalias, 1, 1, 1); | ||||
MODULE_DEPEND(ipfw_nat, ipfw, 3, 3, 3); | MODULE_DEPEND(ipfw_nat, ipfw, 3, 3, 3); | ||||
MODULE_VERSION(ipfw_nat, 1); | MODULE_VERSION(ipfw_nat, 1); | ||||
SYSINIT(ipfw_nat_init, IPFW_NAT_SI_SUB_FIREWALL, IPFW_NAT_MODULE_ORDER, | SYSINIT(ipfw_nat_init, IPFW_NAT_SI_SUB_FIREWALL, IPFW_NAT_MODULE_ORDER, ipfw_nat_init); | ||||
ipfw_nat_init, NULL); | |||||
VNET_SYSINIT(vnet_ipfw_nat_init, IPFW_NAT_SI_SUB_FIREWALL, IPFW_NAT_VNET_ORDER, | VNET_SYSINIT(vnet_ipfw_nat_init, IPFW_NAT_SI_SUB_FIREWALL, IPFW_NAT_VNET_ORDER, | ||||
vnet_ipfw_nat_init, NULL); | vnet_ipfw_nat_init); | ||||
SYSUNINIT(ipfw_nat_destroy, IPFW_NAT_SI_SUB_FIREWALL, IPFW_NAT_MODULE_ORDER, | SYSUNINIT(ipfw_nat_destroy, IPFW_NAT_SI_SUB_FIREWALL, IPFW_NAT_MODULE_ORDER, | ||||
ipfw_nat_destroy, NULL); | ipfw_nat_destroy); | ||||
VNET_SYSUNINIT(vnet_ipfw_nat_uninit, IPFW_NAT_SI_SUB_FIREWALL, | VNET_SYSUNINIT(vnet_ipfw_nat_uninit, IPFW_NAT_SI_SUB_FIREWALL, | ||||
IPFW_NAT_VNET_ORDER, vnet_ipfw_nat_uninit, NULL); | IPFW_NAT_VNET_ORDER, vnet_ipfw_nat_uninit); | ||||
/* end of file */ | /* end of file */ |