diff options
-rw-r--r-- | sys/netinet/ipfw/ip_fw_private.h | 1 | ||||
-rw-r--r-- | sys/netinet/ipfw/ip_fw_table.c | 23 |
2 files changed, 6 insertions, 18 deletions
diff --git a/sys/netinet/ipfw/ip_fw_private.h b/sys/netinet/ipfw/ip_fw_private.h index 633f98f..c29ae0a 100644 --- a/sys/netinet/ipfw/ip_fw_private.h +++ b/sys/netinet/ipfw/ip_fw_private.h @@ -274,7 +274,6 @@ int ipfw_lookup_table(struct ip_fw_chain *ch, uint16_t tbl, in_addr_t addr, int ipfw_init_tables(struct ip_fw_chain *ch); void ipfw_destroy_tables(struct ip_fw_chain *ch); int ipfw_flush_table(struct ip_fw_chain *ch, uint16_t tbl); -void ipfw_flush_tables(struct ip_fw_chain *ch); int ipfw_add_table_entry(struct ip_fw_chain *ch, uint16_t tbl, in_addr_t addr, uint8_t mlen, uint32_t value); int ipfw_dump_table_entry(struct radix_node *rn, void *arg); diff --git a/sys/netinet/ipfw/ip_fw_table.c b/sys/netinet/ipfw/ip_fw_table.c index 5c2369d..517622f 100644 --- a/sys/netinet/ipfw/ip_fw_table.c +++ b/sys/netinet/ipfw/ip_fw_table.c @@ -176,14 +176,18 @@ ipfw_flush_table(struct ip_fw_chain *ch, uint16_t tbl) } void -ipfw_flush_tables(struct ip_fw_chain *ch) +ipfw_destroy_tables(struct ip_fw_chain *ch) { uint16_t tbl; + struct radix_node_head *rnh; IPFW_WLOCK_ASSERT(ch); - for (tbl = 0; tbl < IPFW_TABLES_MAX; tbl++) + for (tbl = 0; tbl < IPFW_TABLES_MAX; tbl++) { ipfw_flush_table(ch, tbl); + rnh = ch->tables[tbl]; + rn_detachhead((void **)&rnh); + } } int @@ -203,21 +207,6 @@ ipfw_init_tables(struct ip_fw_chain *ch) return (0); } -void -ipfw_destroy_tables(struct ip_fw_chain *ch) -{ - int tbl; - struct radix_node_head *rnh; - - IPFW_WLOCK_ASSERT(ch); - - ipfw_flush_tables(ch); - for (tbl = 0; tbl < IPFW_TABLES_MAX; tbl++) { - rnh = ch->tables[tbl]; - rn_detachhead((void **)&rnh); - } -} - int ipfw_lookup_table(struct ip_fw_chain *ch, uint16_t tbl, in_addr_t addr, uint32_t *val) |