Lines Matching refs:rpool

1313 		    rule->rpool.opts & PF_POOL_STICKYADDR)
1336 rule->rpool.opts & PF_POOL_STICKYADDR)
2989 struct pf_pool *rpool = &r->rpool;
2990 struct pf_addr *raddr = &rpool->cur->addr.v.a.addr;
2991 struct pf_addr *rmask = &rpool->cur->addr.v.a.mask;
2992 struct pf_pooladdr *acur = rpool->cur;
2995 if (*sn == NULL && r->rpool.opts & PF_POOL_STICKYADDR &&
2996 (r->rpool.opts & PF_POOL_TYPEMASK) != PF_POOL_NONE) {
3000 r->rpool.opts & PF_POOL_STICKYADDR)
3019 if (rpool->cur->addr.type == PF_ADDR_NOROUTE)
3021 if (rpool->cur->addr.type == PF_ADDR_DYNIFTL) {
3025 if (rpool->cur->addr.p.dyn->pfid_acnt4 < 1 &&
3026 (rpool->opts & PF_POOL_TYPEMASK) !=
3029 raddr = &rpool->cur->addr.p.dyn->pfid_addr4;
3030 rmask = &rpool->cur->addr.p.dyn->pfid_mask4;
3035 if (rpool->cur->addr.p.dyn->pfid_acnt6 < 1 &&
3036 (rpool->opts & PF_POOL_TYPEMASK) !=
3039 raddr = &rpool->cur->addr.p.dyn->pfid_addr6;
3040 rmask = &rpool->cur->addr.p.dyn->pfid_mask6;
3044 } else if (rpool->cur->addr.type == PF_ADDR_TABLE) {
3045 if ((rpool->opts & PF_POOL_TYPEMASK) != PF_POOL_ROUNDROBIN)
3048 raddr = &rpool->cur->addr.v.a.addr;
3049 rmask = &rpool->cur->addr.v.a.mask;
3052 switch (rpool->opts & PF_POOL_TYPEMASK) {
3064 rpool->counter.addr32[0] = htonl(random());
3070 rpool->counter.addr32[3] =
3075 rpool->counter.addr32[2] =
3080 rpool->counter.addr32[1] =
3085 rpool->counter.addr32[0] =
3090 PF_POOLMASK(naddr, raddr, rmask, &rpool->counter, af);
3094 PF_AINC(&rpool->counter, af);
3095 PF_POOLMASK(naddr, raddr, rmask, &rpool->counter, af);
3100 &rpool->key, af);
3105 if (rpool->cur->addr.type == PF_ADDR_TABLE) {
3106 if (!pfr_pool_get(rpool->cur->addr.p.tbl,
3107 &rpool->tblidx, &rpool->counter,
3110 } else if (rpool->cur->addr.type == PF_ADDR_DYNIFTL) {
3111 if (!pfr_pool_get(rpool->cur->addr.p.dyn->pfid_kt,
3112 &rpool->tblidx, &rpool->counter,
3115 } else if (pf_match_addr(0, raddr, rmask, &rpool->counter, af))
3119 if ((rpool->cur = TAILQ_NEXT(rpool->cur, entries)) == NULL)
3120 rpool->cur = TAILQ_FIRST(&rpool->list);
3121 if (rpool->cur->addr.type == PF_ADDR_TABLE) {
3122 rpool->tblidx = -1;
3123 if (pfr_pool_get(rpool->cur->addr.p.tbl,
3124 &rpool->tblidx, &rpool->counter,
3127 if (rpool->cur != acur)
3131 } else if (rpool->cur->addr.type == PF_ADDR_DYNIFTL) {
3132 rpool->tblidx = -1;
3133 if (pfr_pool_get(rpool->cur->addr.p.dyn->pfid_kt,
3134 &rpool->tblidx, &rpool->counter,
3137 if (rpool->cur != acur)
3142 raddr = &rpool->cur->addr.v.a.addr;
3143 rmask = &rpool->cur->addr.v.a.mask;
3144 PF_ACPY(&rpool->counter, raddr, af);
3148 PF_ACPY(naddr, &rpool->counter, af);
3151 PF_AINC(&rpool->counter, af);
3158 (rpool->opts & PF_POOL_TYPEMASK) != PF_POOL_NONE) {
3179 unsigned int low = r->rpool.proxy_port[0];
3180 unsigned int high = r->rpool.proxy_port[1];
3318 switch (r->rpool.opts & PF_POOL_TYPEMASK) {
3356 if (r->rpool.cur != NULL)
3357 xdst = &r->rpool.cur->addr;
3361 if (r->rpool.cur != NULL) {
3364 htons(r->rpool.proxy_port[0]);
3365 xsrc = &r->rpool.cur->addr;
3470 r->rpool.proxy_port[0],
3471 r->rpool.proxy_port[1]));
3478 if (r->rpool.cur->addr.type ==
3483 if (r->rpool.cur->addr.p.dyn->
3487 &r->rpool.cur->addr.p.dyn->
3489 &r->rpool.cur->addr.p.dyn->
3496 if (r->rpool.cur->addr.p.dyn->
3500 &r->rpool.cur->addr.p.dyn->
3502 &r->rpool.cur->addr.p.dyn->
3510 &r->rpool.cur->addr.v.a.addr,
3511 &r->rpool.cur->addr.v.a.mask,
3599 if ((r->rpool.opts & PF_POOL_TYPEMASK) ==
3602 &r->rpool.cur->addr.v.a.mask, daddr,
3606 if (r->rpool.proxy_port[1]) {
3613 (r->rpool.proxy_port[1] -
3614 r->rpool.proxy_port[0] +
3615 1)) + r->rpool.proxy_port[0];
3622 } else if (r->rpool.proxy_port[0]) {
3623 nxport->port = htons(r->rpool.
3896 s->rt_kif = r->rpool.cur->kif;
3903 s->rt_kif = r->rpool.cur->kif;
4770 r->rpool.opts & PF_POOL_STICKYADDR) &&
4776 if (nr != NULL && (nr->rpool.opts & PF_POOL_STICKYADDR) &&
7675 if (TAILQ_EMPTY(&r->rpool.list)) {
7677 ("pf_route: TAILQ_EMPTY(&r->rpool.list)\n"));
7685 ifp = r->rpool.cur->kif ?
7686 r->rpool.cur->kif->pfik_ifp : NULL;
7884 if (TAILQ_EMPTY(&r->rpool.list)) {
7886 ("pf_route6: TAILQ_EMPTY(&r->rpool.list)\n"));
7895 ifp = r->rpool.cur->kif ? r->rpool.cur->kif->pfik_ifp : NULL;