Symbol: newrule
sbin/ipf/common/ipf_y.y
224
xx: { newrule(); }
sbin/ipf/common/ipf_y.y
45
static void newrule(void);
sys/netpfil/pf/pf_ioctl.c
4684
struct pf_krule *oldrule = NULL, *newrule = NULL;
sys/netpfil/pf/pf_ioctl.c
4703
newrule = pf_krule_alloc();
sys/netpfil/pf/pf_ioctl.c
4704
error = pf_rule_to_krule(&pcr->rule, newrule);
sys/netpfil/pf/pf_ioctl.c
4706
pf_krule_free(newrule);
sys/netpfil/pf/pf_ioctl.c
4710
if ((error = pf_rule_checkaf(newrule))) {
sys/netpfil/pf/pf_ioctl.c
4711
pf_krule_free(newrule);
sys/netpfil/pf/pf_ioctl.c
4714
if (newrule->ifname[0])
sys/netpfil/pf/pf_ioctl.c
4716
pf_counter_u64_init(&newrule->evaluations, M_WAITOK);
sys/netpfil/pf/pf_ioctl.c
4718
pf_counter_u64_init(&newrule->packets[i], M_WAITOK);
sys/netpfil/pf/pf_ioctl.c
4719
pf_counter_u64_init(&newrule->bytes[i], M_WAITOK);
sys/netpfil/pf/pf_ioctl.c
4721
newrule->states_cur = counter_u64_alloc(M_WAITOK);
sys/netpfil/pf/pf_ioctl.c
4722
newrule->states_tot = counter_u64_alloc(M_WAITOK);
sys/netpfil/pf/pf_ioctl.c
4724
newrule->src_nodes[sn_type] = counter_u64_alloc(M_WAITOK);
sys/netpfil/pf/pf_ioctl.c
4725
newrule->cuid = td->td_ucred->cr_ruid;
sys/netpfil/pf/pf_ioctl.c
4726
newrule->cpid = td->td_proc ? td->td_proc->p_pid : 0;
sys/netpfil/pf/pf_ioctl.c
4727
TAILQ_INIT(&newrule->nat.list);
sys/netpfil/pf/pf_ioctl.c
4728
TAILQ_INIT(&newrule->rdr.list);
sys/netpfil/pf/pf_ioctl.c
4729
TAILQ_INIT(&newrule->route.list);
sys/netpfil/pf/pf_ioctl.c
4736
if (newrule != NULL) {
sys/netpfil/pf/pf_ioctl.c
4737
LIST_INSERT_HEAD(&V_pf_allrulelist, newrule, allrulelist);
sys/netpfil/pf/pf_ioctl.c
4738
newrule->allrulelinked = true;
sys/netpfil/pf/pf_ioctl.c
4780
if (newrule->ifname[0]) {
sys/netpfil/pf/pf_ioctl.c
4781
newrule->kif = pfi_kkif_attach(kif,
sys/netpfil/pf/pf_ioctl.c
4782
newrule->ifname);
sys/netpfil/pf/pf_ioctl.c
4784
pfi_kkif_ref(newrule->kif);
sys/netpfil/pf/pf_ioctl.c
4786
newrule->kif = NULL;
sys/netpfil/pf/pf_ioctl.c
4788
if (newrule->rtableid > 0 &&
sys/netpfil/pf/pf_ioctl.c
4789
newrule->rtableid >= rt_numfibs)
sys/netpfil/pf/pf_ioctl.c
4794
if (newrule->qname[0] != 0) {
sys/netpfil/pf/pf_ioctl.c
4795
if ((newrule->qid =
sys/netpfil/pf/pf_ioctl.c
4796
pf_qname2qid(newrule->qname, true)) == 0)
sys/netpfil/pf/pf_ioctl.c
4798
else if (newrule->pqname[0] != 0) {
sys/netpfil/pf/pf_ioctl.c
4799
if ((newrule->pqid =
sys/netpfil/pf/pf_ioctl.c
4800
pf_qname2qid(newrule->pqname, true)) == 0)
sys/netpfil/pf/pf_ioctl.c
4803
newrule->pqid = newrule->qid;
sys/netpfil/pf/pf_ioctl.c
4806
if (newrule->tagname[0])
sys/netpfil/pf/pf_ioctl.c
4807
if ((newrule->tag =
sys/netpfil/pf/pf_ioctl.c
4808
pf_tagname2tag(newrule->tagname)) == 0)
sys/netpfil/pf/pf_ioctl.c
4810
if (newrule->match_tagname[0])
sys/netpfil/pf/pf_ioctl.c
4811
if ((newrule->match_tag = pf_tagname2tag(
sys/netpfil/pf/pf_ioctl.c
4812
newrule->match_tagname)) == 0)
sys/netpfil/pf/pf_ioctl.c
4814
if (newrule->rt && !newrule->direction)
sys/netpfil/pf/pf_ioctl.c
4816
if (!newrule->log)
sys/netpfil/pf/pf_ioctl.c
4817
newrule->logif = 0;
sys/netpfil/pf/pf_ioctl.c
4818
if (pf_addr_setup(ruleset, &newrule->src.addr, newrule->af))
sys/netpfil/pf/pf_ioctl.c
4820
if (pf_addr_setup(ruleset, &newrule->dst.addr, newrule->af))
sys/netpfil/pf/pf_ioctl.c
4822
if (pf_kanchor_setup(newrule, ruleset, pcr->anchor_call))
sys/netpfil/pf/pf_ioctl.c
4835
newrule->overload_tbl = NULL;
sys/netpfil/pf/pf_ioctl.c
4836
if (newrule->overload_tblname[0]) {
sys/netpfil/pf/pf_ioctl.c
4837
if ((newrule->overload_tbl = pfr_attach_table(
sys/netpfil/pf/pf_ioctl.c
4838
ruleset, newrule->overload_tblname)) ==
sys/netpfil/pf/pf_ioctl.c
4842
newrule->overload_tbl->pfrkt_flags |=
sys/netpfil/pf/pf_ioctl.c
4846
pf_mv_kpool(&V_pf_pabuf[0], &newrule->nat.list);
sys/netpfil/pf/pf_ioctl.c
4847
pf_mv_kpool(&V_pf_pabuf[1], &newrule->rdr.list);
sys/netpfil/pf/pf_ioctl.c
4848
pf_mv_kpool(&V_pf_pabuf[2], &newrule->route.list);
sys/netpfil/pf/pf_ioctl.c
4849
if (((((newrule->action == PF_NAT) ||
sys/netpfil/pf/pf_ioctl.c
4850
(newrule->action == PF_RDR) ||
sys/netpfil/pf/pf_ioctl.c
4851
(newrule->action == PF_BINAT) ||
sys/netpfil/pf/pf_ioctl.c
4852
(newrule->rt > PF_NOPFROUTE)) &&
sys/netpfil/pf/pf_ioctl.c
4853
!newrule->anchor)) &&
sys/netpfil/pf/pf_ioctl.c
4854
(TAILQ_FIRST(&newrule->rdr.list) == NULL))
sys/netpfil/pf/pf_ioctl.c
4858
pf_free_rule(newrule);
sys/netpfil/pf/pf_ioctl.c
4864
newrule->nat.cur = TAILQ_FIRST(&newrule->nat.list);
sys/netpfil/pf/pf_ioctl.c
4865
newrule->rdr.cur = TAILQ_FIRST(&newrule->rdr.list);
sys/netpfil/pf/pf_ioctl.c
4883
if (newrule != NULL)
sys/netpfil/pf/pf_ioctl.c
4884
pf_free_rule(newrule);
sys/netpfil/pf/pf_ioctl.c
4899
pf_hash_rule(newrule);
sys/netpfil/pf/pf_ioctl.c
4901
ruleset->rules[rs_num].active.tree, newrule) != NULL) {
sys/netpfil/pf/pf_ioctl.c
4902
pf_free_rule(newrule);
sys/netpfil/pf/pf_ioctl.c
4912
newrule, entries);
sys/netpfil/pf/pf_ioctl.c
4915
TAILQ_INSERT_BEFORE(oldrule, newrule, entries);
sys/netpfil/pf/pf_ioctl.c
4919
oldrule, newrule, entries);
sys/netpfil/pf/pf_ioctl.c
4941
pf_krule_free(newrule);