Changeset View
Changeset View
Standalone View
Standalone View
sys/netinet/ip_icmp.c
Show First 20 Lines • Show All 1,114 Lines • ▼ Show 20 Lines | |||||
{ | { | ||||
for (int i = 0; i < BANDLIM_MAX; i++) { | for (int i = 0; i < BANDLIM_MAX; i++) { | ||||
V_icmp_rates[i].cr.cr_rate = counter_u64_alloc(M_WAITOK); | V_icmp_rates[i].cr.cr_rate = counter_u64_alloc(M_WAITOK); | ||||
V_icmp_rates[i].cr.cr_ticks = ticks; | V_icmp_rates[i].cr.cr_ticks = ticks; | ||||
} | } | ||||
} | } | ||||
VNET_SYSINIT(icmp_bandlimit, SI_SUB_PROTO_DOMAIN, SI_ORDER_ANY, | VNET_SYSINIT(icmp_bandlimit, SI_SUB_PROTO_DOMAIN, SI_ORDER_ANY, | ||||
icmp_bandlimit_init, NULL); | icmp_bandlimit_init); | ||||
static void | static void | ||||
icmp_bandlimit_uninit(void) | icmp_bandlimit_uninit(void) | ||||
{ | { | ||||
for (int i = 0; i < BANDLIM_MAX; i++) | for (int i = 0; i < BANDLIM_MAX; i++) | ||||
counter_u64_free(V_icmp_rates[i].cr.cr_rate); | counter_u64_free(V_icmp_rates[i].cr.cr_rate); | ||||
} | } | ||||
VNET_SYSUNINIT(icmp_bandlimit, SI_SUB_PROTO_DOMAIN, SI_ORDER_THIRD, | VNET_SYSUNINIT(icmp_bandlimit, SI_SUB_PROTO_DOMAIN, SI_ORDER_THIRD, | ||||
icmp_bandlimit_uninit, NULL); | icmp_bandlimit_uninit); | ||||
int | int | ||||
badport_bandlim(int which) | badport_bandlim(int which) | ||||
{ | { | ||||
int64_t pps; | int64_t pps; | ||||
if (V_icmplim == 0 || which == BANDLIM_UNLIMITED) | if (V_icmplim == 0 || which == BANDLIM_UNLIMITED) | ||||
return (0); | return (0); | ||||
Show All 30 Lines |