Lines Matching refs:rpool

1326 		    rule->rpool.opts & PF_POOL_STICKYADDR) {  in pf_insert_src_node()
1352 rule->rpool.opts & PF_POOL_STICKYADDR) { in pf_insert_src_node()
3218 struct pf_pool *rpool = &r->rpool; in pf_map_addr() local
3219 struct pf_addr *raddr = &rpool->cur->addr.v.a.addr; in pf_map_addr()
3220 struct pf_addr *rmask = &rpool->cur->addr.v.a.mask; in pf_map_addr()
3221 struct pf_pooladdr *acur = rpool->cur; in pf_map_addr()
3224 if (*sn == NULL && r->rpool.opts & PF_POOL_STICKYADDR && in pf_map_addr()
3225 (r->rpool.opts & PF_POOL_TYPEMASK) != PF_POOL_NONE) { in pf_map_addr()
3229 r->rpool.opts & PF_POOL_STICKYADDR) { in pf_map_addr()
3236 if (*sn != NULL && !PF_AZERO(&(*sn)->raddr, rpool->af)) { in pf_map_addr()
3237 PF_ACPY(naddr, &(*sn)->raddr, rpool->af); in pf_map_addr()
3242 pf_print_host(naddr, 0, rpool->af); in pf_map_addr()
3249 if (rpool->cur->addr.type == PF_ADDR_NOROUTE) { in pf_map_addr()
3252 if (rpool->cur->addr.type == PF_ADDR_DYNIFTL) { in pf_map_addr()
3253 if (rpool->cur->addr.p.dyn == NULL) { in pf_map_addr()
3256 switch (rpool->af) { in pf_map_addr()
3259 if (rpool->cur->addr.p.dyn->pfid_acnt4 < 1 && in pf_map_addr()
3260 (rpool->opts & PF_POOL_TYPEMASK) != in pf_map_addr()
3264 raddr = &rpool->cur->addr.p.dyn->pfid_addr4; in pf_map_addr()
3265 rmask = &rpool->cur->addr.p.dyn->pfid_mask4; in pf_map_addr()
3269 if (rpool->cur->addr.p.dyn->pfid_acnt6 < 1 && in pf_map_addr()
3270 (rpool->opts & PF_POOL_TYPEMASK) != in pf_map_addr()
3274 raddr = &rpool->cur->addr.p.dyn->pfid_addr6; in pf_map_addr()
3275 rmask = &rpool->cur->addr.p.dyn->pfid_mask6; in pf_map_addr()
3278 } else if (rpool->cur->addr.type == PF_ADDR_TABLE) { in pf_map_addr()
3279 if ((rpool->opts & PF_POOL_TYPEMASK) != PF_POOL_ROUNDROBIN) { in pf_map_addr()
3283 raddr = &rpool->cur->addr.v.a.addr; in pf_map_addr()
3284 rmask = &rpool->cur->addr.v.a.mask; in pf_map_addr()
3287 switch (rpool->opts & PF_POOL_TYPEMASK) { in pf_map_addr()
3289 PF_ACPY(naddr, raddr, rpool->af); in pf_map_addr()
3292 ASSERT(af == rpool->af); in pf_map_addr()
3296 if (init_addr != NULL && PF_AZERO(init_addr, rpool->af)) { in pf_map_addr()
3300 rpool->counter.addr32[0] = htonl(random()); in pf_map_addr()
3305 rpool->counter.addr32[3] = in pf_map_addr()
3311 rpool->counter.addr32[2] = in pf_map_addr()
3317 rpool->counter.addr32[1] = in pf_map_addr()
3323 rpool->counter.addr32[0] = in pf_map_addr()
3328 PF_POOLMASK(naddr, raddr, rmask, &rpool->counter, in pf_map_addr()
3329 rpool->af); in pf_map_addr()
3330 PF_ACPY(init_addr, naddr, rpool->af); in pf_map_addr()
3332 PF_AINC(&rpool->counter, rpool->af); in pf_map_addr()
3333 PF_POOLMASK(naddr, raddr, rmask, &rpool->counter, in pf_map_addr()
3334 rpool->af); in pf_map_addr()
3338 ASSERT(af == rpool->af); in pf_map_addr()
3341 &rpool->key, af); in pf_map_addr()
3346 if (rpool->cur->addr.type == PF_ADDR_TABLE) { in pf_map_addr()
3347 if (!pfr_pool_get(rpool->cur->addr.p.tbl, in pf_map_addr()
3348 &rpool->tblidx, &rpool->counter, in pf_map_addr()
3349 &raddr, &rmask, rpool->af)) { in pf_map_addr()
3352 } else if (rpool->cur->addr.type == PF_ADDR_DYNIFTL) { in pf_map_addr()
3353 if (rpool->cur->addr.p.dyn != NULL && in pf_map_addr()
3354 !pfr_pool_get(rpool->cur->addr.p.dyn->pfid_kt, in pf_map_addr()
3355 &rpool->tblidx, &rpool->counter, in pf_map_addr()
3359 } else if (pf_match_addr(0, raddr, rmask, &rpool->counter, in pf_map_addr()
3360 rpool->af)) { in pf_map_addr()
3365 if ((rpool->cur = TAILQ_NEXT(rpool->cur, entries)) == NULL) { in pf_map_addr()
3366 rpool->cur = TAILQ_FIRST(&rpool->list); in pf_map_addr()
3368 if (rpool->cur->addr.type == PF_ADDR_TABLE) { in pf_map_addr()
3369 rpool->tblidx = -1; in pf_map_addr()
3370 if (pfr_pool_get(rpool->cur->addr.p.tbl, in pf_map_addr()
3371 &rpool->tblidx, &rpool->counter, in pf_map_addr()
3372 &raddr, &rmask, rpool->af)) { in pf_map_addr()
3375 if (rpool->cur != acur) { in pf_map_addr()
3380 } else if (rpool->cur->addr.type == PF_ADDR_DYNIFTL) { in pf_map_addr()
3381 rpool->tblidx = -1; in pf_map_addr()
3382 if (rpool->cur->addr.p.dyn == NULL) { in pf_map_addr()
3385 if (pfr_pool_get(rpool->cur->addr.p.dyn->pfid_kt, in pf_map_addr()
3386 &rpool->tblidx, &rpool->counter, in pf_map_addr()
3387 &raddr, &rmask, rpool->af)) { in pf_map_addr()
3390 if (rpool->cur != acur) { in pf_map_addr()
3396 raddr = &rpool->cur->addr.v.a.addr; in pf_map_addr()
3397 rmask = &rpool->cur->addr.v.a.mask; in pf_map_addr()
3398 PF_ACPY(&rpool->counter, raddr, rpool->af); in pf_map_addr()
3402 PF_ACPY(naddr, &rpool->counter, rpool->af); in pf_map_addr()
3403 if (init_addr != NULL && PF_AZERO(init_addr, rpool->af)) { in pf_map_addr()
3404 PF_ACPY(init_addr, naddr, rpool->af); in pf_map_addr()
3406 PF_AINC(&rpool->counter, rpool->af); in pf_map_addr()
3410 PF_ACPY(&(*sn)->raddr, naddr, rpool->af); in pf_map_addr()
3414 (rpool->opts & PF_POOL_TYPEMASK) != PF_POOL_NONE) { in pf_map_addr()
3416 pf_print_host(naddr, 0, rpool->af); in pf_map_addr()
3439 unsigned int low = r->rpool.proxy_port[0]; in pf_get_sport()
3440 unsigned int high = r->rpool.proxy_port[1]; in pf_get_sport()
3638 switch (r->rpool.opts & PF_POOL_TYPEMASK) { in pf_get_sport()
3677 if (r->rpool.cur != NULL) { in pf_match_translation()
3678 xdst = &r->rpool.cur->addr; in pf_match_translation()
3683 if (r->rpool.cur != NULL) { in pf_match_translation()
3686 htons(r->rpool.proxy_port[0]); in pf_match_translation()
3687 xsrc = &r->rpool.cur->addr; in pf_match_translation()
3846 r->rpool.proxy_port[0], in pf_get_translation_aux()
3847 r->rpool.proxy_port[1])); in pf_get_translation_aux()
3862 if (r->rpool.cur->addr.type == in pf_get_translation_aux()
3864 if (r->rpool.cur->addr.p.dyn == NULL) { in pf_get_translation_aux()
3870 if (r->rpool.cur->addr.p.dyn-> in pf_get_translation_aux()
3875 &r->rpool.cur->addr.p.dyn-> in pf_get_translation_aux()
3877 &r->rpool.cur->addr.p.dyn-> in pf_get_translation_aux()
3883 if (r->rpool.cur->addr.p.dyn-> in pf_get_translation_aux()
3888 &r->rpool.cur->addr.p.dyn-> in pf_get_translation_aux()
3890 &r->rpool.cur->addr.p.dyn-> in pf_get_translation_aux()
3897 &r->rpool.cur->addr.v.a.addr, in pf_get_translation_aux()
3898 &r->rpool.cur->addr.v.a.mask, in pf_get_translation_aux()
3995 if ((r->rpool.opts & PF_POOL_TYPEMASK) == in pf_get_translation_aux()
3998 &r->rpool.cur->addr.v.a.mask, daddr, in pf_get_translation_aux()
4003 if (r->rpool.proxy_port[1]) { in pf_get_translation_aux()
4010 (r->rpool.proxy_port[1] - in pf_get_translation_aux()
4011 r->rpool.proxy_port[0] + in pf_get_translation_aux()
4012 1)) + r->rpool.proxy_port[0]; in pf_get_translation_aux()
4020 } else if (r->rpool.proxy_port[0]) { in pf_get_translation_aux()
4021 nsxport->port = htons(r->rpool. in pf_get_translation_aux()
4299 s->rt_kif = r->rpool.cur->kif; in pf_set_rt_ifp()
5702 r->rpool.opts & PF_POOL_STICKYADDR) && in pf_test_rule()
5708 if (nr != NULL && (nr->rpool.opts & PF_POOL_STICKYADDR) && in pf_test_rule()
9130 if (TAILQ_EMPTY(&r->rpool.list)) { in pf_route()
9141 ifp = r->rpool.cur->kif ? in pf_route()
9142 r->rpool.cur->kif->pfik_ifp : NULL; in pf_route()
9324 if (TAILQ_EMPTY(&r->rpool.list)) { in pf_route6()
9336 ifp = r->rpool.cur->kif ? r->rpool.cur->kif->pfik_ifp : NULL; in pf_route6()