ntables
ip_mroute_rtnumfibs_change(void *arg __unused, uint32_t ntables)
KASSERT(ntables >= V_nmfctables,
("%s: ntables %u nmfctables %u", __func__, ntables, V_nmfctables));
mfctables = mallocarray(ntables, sizeof(*mfctables), M_MRTABLE,
for (int i = V_nmfctables; i < ntables; i++) {
V_nmfctables = ntables;
ip6_mroute_rtnumfibs_change(void *arg __unused, uint32_t ntables)
KASSERT(ntables >= V_nmfctables,
("%s: ntables %u nmfctables %u", __func__, ntables, V_nmfctables));
mfctables = mallocarray(ntables, sizeof(*mfctables), M_MRTABLE6,
V_nmfctables = ntables;
unsigned int ntables;
ntables = V_fw_tables_max;
error = sysctl_handle_int(oidp, &ntables, 0, req);
return (ipfw_resize_tables(&V_layer3_chain, ntables));
ipfw_resize_tables(struct ip_fw_chain *ch, unsigned int ntables)
if (ntables == 0)
if (ntables > IPFW_TABLES_MAX)
ntables = IPFW_TABLES_MAX;
ntables = roundup_pow_of_two(ntables);
tablestate = malloc(ntables * sizeof(struct table_info),
ipfw_objhash_bitmap_alloc(ntables, (void *)&new_idx, &new_blocks);
tbl = (ntables >= V_fw_tables_max) ? V_fw_tables_max : ntables;
if (ntables < V_fw_tables_max) {
V_fw_tables_max = ntables;