Lines Matching refs:rpool
1379 rule->rpool.opts & PF_POOL_STICKYADDR) { in pf_insert_src_node()
1405 rule->rpool.opts & PF_POOL_STICKYADDR) { in pf_insert_src_node()
3332 struct pf_pool *rpool = &r->rpool; in pf_map_addr() local
3333 struct pf_addr *raddr = &rpool->cur->addr.v.a.addr; in pf_map_addr()
3334 struct pf_addr *rmask = &rpool->cur->addr.v.a.mask; in pf_map_addr()
3335 struct pf_pooladdr *acur = rpool->cur; in pf_map_addr()
3338 if (*sn == NULL && r->rpool.opts & PF_POOL_STICKYADDR && in pf_map_addr()
3339 (r->rpool.opts & PF_POOL_TYPEMASK) != PF_POOL_NONE) { in pf_map_addr()
3343 r->rpool.opts & PF_POOL_STICKYADDR) { in pf_map_addr()
3350 if (*sn != NULL && !PF_AZERO(&(*sn)->raddr, rpool->af)) { in pf_map_addr()
3351 PF_ACPY(naddr, &(*sn)->raddr, rpool->af); in pf_map_addr()
3356 pf_print_host(naddr, 0, rpool->af); in pf_map_addr()
3363 if (rpool->cur->addr.type == PF_ADDR_NOROUTE) { in pf_map_addr()
3366 if (rpool->cur->addr.type == PF_ADDR_DYNIFTL) { in pf_map_addr()
3367 if (rpool->cur->addr.p.dyn == NULL) { in pf_map_addr()
3370 switch (rpool->af) { in pf_map_addr()
3373 if (rpool->cur->addr.p.dyn->pfid_acnt4 < 1 && in pf_map_addr()
3374 (rpool->opts & PF_POOL_TYPEMASK) != in pf_map_addr()
3378 raddr = &rpool->cur->addr.p.dyn->pfid_addr4; in pf_map_addr()
3379 rmask = &rpool->cur->addr.p.dyn->pfid_mask4; in pf_map_addr()
3383 if (rpool->cur->addr.p.dyn->pfid_acnt6 < 1 && in pf_map_addr()
3384 (rpool->opts & PF_POOL_TYPEMASK) != in pf_map_addr()
3388 raddr = &rpool->cur->addr.p.dyn->pfid_addr6; in pf_map_addr()
3389 rmask = &rpool->cur->addr.p.dyn->pfid_mask6; in pf_map_addr()
3392 } else if (rpool->cur->addr.type == PF_ADDR_TABLE) { in pf_map_addr()
3393 if ((rpool->opts & PF_POOL_TYPEMASK) != PF_POOL_ROUNDROBIN) { in pf_map_addr()
3397 raddr = &rpool->cur->addr.v.a.addr; in pf_map_addr()
3398 rmask = &rpool->cur->addr.v.a.mask; in pf_map_addr()
3401 switch (rpool->opts & PF_POOL_TYPEMASK) { in pf_map_addr()
3403 PF_ACPY(naddr, raddr, rpool->af); in pf_map_addr()
3406 ASSERT(af == rpool->af); in pf_map_addr()
3410 if (init_addr != NULL && PF_AZERO(init_addr, rpool->af)) { in pf_map_addr()
3414 rpool->counter.addr32[0] = htonl(random()); in pf_map_addr()
3419 rpool->counter.addr32[3] = in pf_map_addr()
3425 rpool->counter.addr32[2] = in pf_map_addr()
3431 rpool->counter.addr32[1] = in pf_map_addr()
3437 rpool->counter.addr32[0] = in pf_map_addr()
3442 PF_POOLMASK(naddr, raddr, rmask, &rpool->counter, in pf_map_addr()
3443 rpool->af); in pf_map_addr()
3444 PF_ACPY(init_addr, naddr, rpool->af); in pf_map_addr()
3446 PF_AINC(&rpool->counter, rpool->af); in pf_map_addr()
3447 PF_POOLMASK(naddr, raddr, rmask, &rpool->counter, in pf_map_addr()
3448 rpool->af); in pf_map_addr()
3452 ASSERT(af == rpool->af); in pf_map_addr()
3455 &rpool->key, af); in pf_map_addr()
3460 if (rpool->cur->addr.type == PF_ADDR_TABLE) { in pf_map_addr()
3461 if (!pfr_pool_get(rpool->cur->addr.p.tbl, in pf_map_addr()
3462 &rpool->tblidx, &rpool->counter, in pf_map_addr()
3463 &raddr, &rmask, rpool->af)) { in pf_map_addr()
3466 } else if (rpool->cur->addr.type == PF_ADDR_DYNIFTL) { in pf_map_addr()
3467 if (rpool->cur->addr.p.dyn != NULL && in pf_map_addr()
3468 !pfr_pool_get(rpool->cur->addr.p.dyn->pfid_kt, in pf_map_addr()
3469 &rpool->tblidx, &rpool->counter, in pf_map_addr()
3473 } else if (pf_match_addr(0, raddr, rmask, &rpool->counter, in pf_map_addr()
3474 rpool->af)) { in pf_map_addr()
3479 if ((rpool->cur = TAILQ_NEXT(rpool->cur, entries)) == NULL) { in pf_map_addr()
3480 rpool->cur = TAILQ_FIRST(&rpool->list); in pf_map_addr()
3482 if (rpool->cur->addr.type == PF_ADDR_TABLE) { in pf_map_addr()
3483 rpool->tblidx = -1; in pf_map_addr()
3484 if (pfr_pool_get(rpool->cur->addr.p.tbl, in pf_map_addr()
3485 &rpool->tblidx, &rpool->counter, in pf_map_addr()
3486 &raddr, &rmask, rpool->af)) { in pf_map_addr()
3489 if (rpool->cur != acur) { in pf_map_addr()
3494 } else if (rpool->cur->addr.type == PF_ADDR_DYNIFTL) { in pf_map_addr()
3495 rpool->tblidx = -1; in pf_map_addr()
3496 if (rpool->cur->addr.p.dyn == NULL) { in pf_map_addr()
3499 if (pfr_pool_get(rpool->cur->addr.p.dyn->pfid_kt, in pf_map_addr()
3500 &rpool->tblidx, &rpool->counter, in pf_map_addr()
3501 &raddr, &rmask, rpool->af)) { in pf_map_addr()
3504 if (rpool->cur != acur) { in pf_map_addr()
3510 raddr = &rpool->cur->addr.v.a.addr; in pf_map_addr()
3511 rmask = &rpool->cur->addr.v.a.mask; in pf_map_addr()
3512 PF_ACPY(&rpool->counter, raddr, rpool->af); in pf_map_addr()
3516 PF_ACPY(naddr, &rpool->counter, rpool->af); in pf_map_addr()
3517 if (init_addr != NULL && PF_AZERO(init_addr, rpool->af)) { in pf_map_addr()
3518 PF_ACPY(init_addr, naddr, rpool->af); in pf_map_addr()
3520 PF_AINC(&rpool->counter, rpool->af); in pf_map_addr()
3524 PF_ACPY(&(*sn)->raddr, naddr, rpool->af); in pf_map_addr()
3528 (rpool->opts & PF_POOL_TYPEMASK) != PF_POOL_NONE) { in pf_map_addr()
3530 pf_print_host(naddr, 0, rpool->af); in pf_map_addr()
3553 unsigned int low = r->rpool.proxy_port[0]; in pf_get_sport()
3554 unsigned int high = r->rpool.proxy_port[1]; in pf_get_sport()
3752 switch (r->rpool.opts & PF_POOL_TYPEMASK) { in pf_get_sport()
3791 if (r->rpool.cur != NULL) { in pf_match_translation()
3792 xdst = &r->rpool.cur->addr; in pf_match_translation()
3797 if (r->rpool.cur != NULL) { in pf_match_translation()
3800 htons(r->rpool.proxy_port[0]); in pf_match_translation()
3801 xsrc = &r->rpool.cur->addr; in pf_match_translation()
3960 r->rpool.proxy_port[0], in pf_get_translation_aux()
3961 r->rpool.proxy_port[1])); in pf_get_translation_aux()
3976 if (r->rpool.cur->addr.type == in pf_get_translation_aux()
3978 if (r->rpool.cur->addr.p.dyn == NULL) { in pf_get_translation_aux()
3984 if (r->rpool.cur->addr.p.dyn-> in pf_get_translation_aux()
3989 &r->rpool.cur->addr.p.dyn-> in pf_get_translation_aux()
3991 &r->rpool.cur->addr.p.dyn-> in pf_get_translation_aux()
3997 if (r->rpool.cur->addr.p.dyn-> in pf_get_translation_aux()
4002 &r->rpool.cur->addr.p.dyn-> in pf_get_translation_aux()
4004 &r->rpool.cur->addr.p.dyn-> in pf_get_translation_aux()
4011 &r->rpool.cur->addr.v.a.addr, in pf_get_translation_aux()
4012 &r->rpool.cur->addr.v.a.mask, in pf_get_translation_aux()
4109 if ((r->rpool.opts & PF_POOL_TYPEMASK) == in pf_get_translation_aux()
4112 &r->rpool.cur->addr.v.a.mask, daddr, in pf_get_translation_aux()
4117 if (r->rpool.proxy_port[1]) { in pf_get_translation_aux()
4124 (r->rpool.proxy_port[1] - in pf_get_translation_aux()
4125 r->rpool.proxy_port[0] + in pf_get_translation_aux()
4126 1)) + r->rpool.proxy_port[0]; in pf_get_translation_aux()
4134 } else if (r->rpool.proxy_port[0]) { in pf_get_translation_aux()
4135 nsxport->port = htons(r->rpool. in pf_get_translation_aux()
4413 s->rt_kif = r->rpool.cur->kif; in pf_set_rt_ifp()
5837 r->rpool.opts & PF_POOL_STICKYADDR) && in pf_test_rule()
5843 if (nr != NULL && (nr->rpool.opts & PF_POOL_STICKYADDR) && in pf_test_rule()
9313 if (TAILQ_EMPTY(&r->rpool.list)) { in pf_route()
9324 ifp = r->rpool.cur->kif ? in pf_route()
9325 r->rpool.cur->kif->pfik_ifp : NULL; in pf_route()
9507 if (TAILQ_EMPTY(&r->rpool.list)) { in pf_route6()
9519 ifp = r->rpool.cur->kif ? r->rpool.cur->kif->pfik_ifp : NULL; in pf_route6()