• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/sys/netpfil/ipfw/

Lines Matching defs:chain

148 static int jump_fast(struct ip_fw_chain *chain, struct ip_fw *f, int num,
152 static int jump_linear(struct ip_fw_chain *chain, struct ip_fw *f, int num,
416 iface_match(struct ifnet *ifp, ipfw_insn_if *cmd, struct ip_fw_chain *chain,
426 return ipfw_lookup_table(chain, cmd->p.kidx, 0,
1221 struct ip_fw_chain *chain)
1223 args->rule.chain_id = chain->id;
1225 args->rule.rule_id = 1 + chain->map[slot]->id;
1226 args->rule.rulenum = chain->map[slot]->rulenum;
1236 jump_fast(struct ip_fw_chain *chain, struct ip_fw *f, int num,
1245 if (num != IP_FW_TARG && f->cached_id == chain->id)
1248 int i = IP_FW_ARG_TABLEARG(chain, num, skipto);
1252 if (chain->idxmap != NULL)
1253 f_pos = chain->idxmap[i];
1255 f_pos = ipfw_find_rule(chain, i, 0);
1258 f->cached_id = chain->id;
1270 jump_linear(struct ip_fw_chain *chain, struct ip_fw *f, int num,
1275 num = IP_FW_ARG_TABLEARG(chain, num, skipto);
1279 f_pos = chain->idxmap[num];
1285 #define TARG(k, f) IP_FW_ARG_TABLEARG(chain, k, f)
1406 struct ip_fw_chain *chain = &V_layer3_chain;
1498 _PULLUP_LOCKED(_len, p, T, IPFW_PF_RUNLOCK(chain)); \
1785 IPFW_PF_RLOCK(chain);
1787 IPFW_PF_RUNLOCK(chain);
1798 f_pos = (args->rule.chain_id == chain->id) ?
1800 ipfw_find_rule(chain, args->rule.rulenum,
1833 for (; f_pos < chain->n_rules; f_pos++) {
1839 f = chain->map[f_pos];
1912 chain, &tablearg);
1917 chain, &tablearg);
1922 (ipfw_insn_if *)cmd, chain, &tablearg);
2089 match = ipfw_lookup_table(chain,
2119 match = ipfw_lookup_table(chain, cmd->arg1,
2125 TARG_VAL(chain, vidx, tag);
2136 match = ipfw_lookup_table(chain,
2142 TARG_VAL(chain, v, tag);
2470 ipfw_log(chain, f, hlen, args,
2760 if (ipfw_dyn_install_state(chain, f,
2822 set_match(args, f_pos, chain);
2842 set_match(args, f_pos, chain);
2853 f_pos = JUMP(chain, f, cmd->arg1, tablearg, 0);
2860 for (; f_pos < chain->n_rules - 1 &&
2862 (1 << chain->map[f_pos]->set));
2866 f = chain->map[f_pos];
2942 f_pos = JUMP(chain, f, cmd->arg1,
2947 f_pos = ipfw_find_rule(chain, jmpto, 0);
2956 for (; f_pos < chain->n_rules - 1 &&
2958 (1 << chain->map[f_pos]->set)); f_pos++)
2961 f = chain->map[f_pos];
3035 chain, tablearg, nh6);
3038 chain, tablearg, zoneid);
3049 TARG_VAL(chain, tablearg,
3082 set_match(args, f_pos, chain);
3148 set_match(args, f_pos, chain);
3157 t = (*lookup_nat_ptr)(&chain->nat, nat_id);
3201 set_match(args, f_pos, chain);
3208 retval = ipfw_run_eaction(chain, args,
3258 struct ip_fw *rule = chain->map[f_pos];
3272 IPFW_PF_RUNLOCK(chain);
3406 struct ip_fw_chain *chain;
3408 chain = &V_layer3_chain;
3422 LIST_INIT(&chain->nat);
3426 ipfw_init_srv(chain);
3431 error = ipfw_init_tables(chain, first);
3434 free(chain->map, M_IPFW);
3439 IPFW_LOCK_INIT(chain);
3442 rule = ipfw_alloc_rule(chain, sizeof(struct ip_fw));
3447 chain->default_rule = rule;
3448 ipfw_add_protected_rule(chain, rule, 0);
3450 ipfw_dyn_init(chain);
3451 ipfw_eaction_init(chain, first);
3453 ipfw_init_skipto_cache(chain);
3485 struct ip_fw_chain *chain = &V_layer3_chain;
3499 IPFW_UH_WLOCK(chain);
3500 IPFW_UH_WUNLOCK(chain);
3504 IPFW_UH_WLOCK(chain);
3507 IPFW_WLOCK(chain);
3508 for (i = 0; i < chain->n_rules; i++)
3509 ipfw_reap_add(chain, &reap, chain->map[i]);
3510 free(chain->map, M_IPFW);
3512 ipfw_destroy_skipto_cache(chain);
3514 IPFW_WUNLOCK(chain);
3515 IPFW_UH_WUNLOCK(chain);
3516 ipfw_destroy_tables(chain, last);
3517 ipfw_eaction_uninit(chain, last);
3520 vnet_ipfw_iface_destroy(chain);
3521 ipfw_destroy_srv(chain);
3522 IPFW_LOCK_DESTROY(chain);