Lines Matching refs:rpool
1360 rule->rpool.opts & PF_POOL_STICKYADDR) { in pf_insert_src_node()
1386 rule->rpool.opts & PF_POOL_STICKYADDR) { in pf_insert_src_node()
3313 struct pf_pool *__single rpool = &r->rpool; in pf_map_addr() local
3314 struct pf_addr *__single raddr = &rpool->cur->addr.v.a.addr; in pf_map_addr()
3315 struct pf_addr *__single rmask = &rpool->cur->addr.v.a.mask; in pf_map_addr()
3316 struct pf_pooladdr *__single acur = rpool->cur; in pf_map_addr()
3319 if (*sn == NULL && r->rpool.opts & PF_POOL_STICKYADDR && in pf_map_addr()
3320 (r->rpool.opts & PF_POOL_TYPEMASK) != PF_POOL_NONE) { in pf_map_addr()
3324 r->rpool.opts & PF_POOL_STICKYADDR) { in pf_map_addr()
3331 if (*sn != NULL && !PF_AZERO(&(*sn)->raddr, rpool->af)) { in pf_map_addr()
3332 PF_ACPY(naddr, &(*sn)->raddr, rpool->af); in pf_map_addr()
3337 pf_print_host(naddr, 0, rpool->af); in pf_map_addr()
3344 if (rpool->cur->addr.type == PF_ADDR_NOROUTE) { in pf_map_addr()
3347 if (rpool->cur->addr.type == PF_ADDR_DYNIFTL) { in pf_map_addr()
3348 if (rpool->cur->addr.p.dyn == NULL) { in pf_map_addr()
3351 switch (rpool->af) { in pf_map_addr()
3354 if (rpool->cur->addr.p.dyn->pfid_acnt4 < 1 && in pf_map_addr()
3355 (rpool->opts & PF_POOL_TYPEMASK) != in pf_map_addr()
3359 raddr = &rpool->cur->addr.p.dyn->pfid_addr4; in pf_map_addr()
3360 rmask = &rpool->cur->addr.p.dyn->pfid_mask4; in pf_map_addr()
3364 if (rpool->cur->addr.p.dyn->pfid_acnt6 < 1 && in pf_map_addr()
3365 (rpool->opts & PF_POOL_TYPEMASK) != in pf_map_addr()
3369 raddr = &rpool->cur->addr.p.dyn->pfid_addr6; in pf_map_addr()
3370 rmask = &rpool->cur->addr.p.dyn->pfid_mask6; in pf_map_addr()
3373 } else if (rpool->cur->addr.type == PF_ADDR_TABLE) { in pf_map_addr()
3374 if ((rpool->opts & PF_POOL_TYPEMASK) != PF_POOL_ROUNDROBIN) { in pf_map_addr()
3378 raddr = &rpool->cur->addr.v.a.addr; in pf_map_addr()
3379 rmask = &rpool->cur->addr.v.a.mask; in pf_map_addr()
3382 switch (rpool->opts & PF_POOL_TYPEMASK) { in pf_map_addr()
3384 PF_ACPY(naddr, raddr, rpool->af); in pf_map_addr()
3387 ASSERT(af == rpool->af); in pf_map_addr()
3391 if (init_addr != NULL && PF_AZERO(init_addr, rpool->af)) { in pf_map_addr()
3395 rpool->counter.addr32[0] = htonl(random()); in pf_map_addr()
3400 rpool->counter.addr32[3] = in pf_map_addr()
3406 rpool->counter.addr32[2] = in pf_map_addr()
3412 rpool->counter.addr32[1] = in pf_map_addr()
3418 rpool->counter.addr32[0] = in pf_map_addr()
3423 PF_POOLMASK(naddr, raddr, rmask, &rpool->counter, in pf_map_addr()
3424 rpool->af); in pf_map_addr()
3425 PF_ACPY(init_addr, naddr, rpool->af); in pf_map_addr()
3427 PF_AINC(&rpool->counter, rpool->af); in pf_map_addr()
3428 PF_POOLMASK(naddr, raddr, rmask, &rpool->counter, in pf_map_addr()
3429 rpool->af); in pf_map_addr()
3433 ASSERT(af == rpool->af); in pf_map_addr()
3436 &rpool->key, af); in pf_map_addr()
3441 if (rpool->cur->addr.type == PF_ADDR_TABLE) { in pf_map_addr()
3442 if (!pfr_pool_get(rpool->cur->addr.p.tbl, in pf_map_addr()
3443 &rpool->tblidx, &rpool->counter, in pf_map_addr()
3444 &raddr, &rmask, rpool->af)) { in pf_map_addr()
3447 } else if (rpool->cur->addr.type == PF_ADDR_DYNIFTL) { in pf_map_addr()
3448 if (rpool->cur->addr.p.dyn != NULL && in pf_map_addr()
3449 !pfr_pool_get(rpool->cur->addr.p.dyn->pfid_kt, in pf_map_addr()
3450 &rpool->tblidx, &rpool->counter, in pf_map_addr()
3454 } else if (pf_match_addr(0, raddr, rmask, &rpool->counter, in pf_map_addr()
3455 rpool->af)) { in pf_map_addr()
3460 if ((rpool->cur = TAILQ_NEXT(rpool->cur, entries)) == NULL) { in pf_map_addr()
3461 rpool->cur = TAILQ_FIRST(&rpool->list); in pf_map_addr()
3463 if (rpool->cur->addr.type == PF_ADDR_TABLE) { in pf_map_addr()
3464 rpool->tblidx = -1; in pf_map_addr()
3465 if (pfr_pool_get(rpool->cur->addr.p.tbl, in pf_map_addr()
3466 &rpool->tblidx, &rpool->counter, in pf_map_addr()
3467 &raddr, &rmask, rpool->af)) { in pf_map_addr()
3470 if (rpool->cur != acur) { in pf_map_addr()
3475 } else if (rpool->cur->addr.type == PF_ADDR_DYNIFTL) { in pf_map_addr()
3476 rpool->tblidx = -1; in pf_map_addr()
3477 if (rpool->cur->addr.p.dyn == NULL) { in pf_map_addr()
3480 if (pfr_pool_get(rpool->cur->addr.p.dyn->pfid_kt, in pf_map_addr()
3481 &rpool->tblidx, &rpool->counter, in pf_map_addr()
3482 &raddr, &rmask, rpool->af)) { in pf_map_addr()
3485 if (rpool->cur != acur) { in pf_map_addr()
3491 raddr = &rpool->cur->addr.v.a.addr; in pf_map_addr()
3492 rmask = &rpool->cur->addr.v.a.mask; in pf_map_addr()
3493 PF_ACPY(&rpool->counter, raddr, rpool->af); in pf_map_addr()
3497 PF_ACPY(naddr, &rpool->counter, rpool->af); in pf_map_addr()
3498 if (init_addr != NULL && PF_AZERO(init_addr, rpool->af)) { in pf_map_addr()
3499 PF_ACPY(init_addr, naddr, rpool->af); in pf_map_addr()
3501 PF_AINC(&rpool->counter, rpool->af); in pf_map_addr()
3505 PF_ACPY(&(*sn)->raddr, naddr, rpool->af); in pf_map_addr()
3509 (rpool->opts & PF_POOL_TYPEMASK) != PF_POOL_NONE) { in pf_map_addr()
3511 pf_print_host(naddr, 0, rpool->af); in pf_map_addr()
3534 unsigned int low = r->rpool.proxy_port[0]; in pf_get_sport()
3535 unsigned int high = r->rpool.proxy_port[1]; in pf_get_sport()
3733 switch (r->rpool.opts & PF_POOL_TYPEMASK) { in pf_get_sport()
3772 if (r->rpool.cur != NULL) { in pf_match_translation()
3773 xdst = &r->rpool.cur->addr; in pf_match_translation()
3778 if (r->rpool.cur != NULL) { in pf_match_translation()
3781 htons(r->rpool.proxy_port[0]); in pf_match_translation()
3782 xsrc = &r->rpool.cur->addr; in pf_match_translation()
3941 r->rpool.proxy_port[0], in pf_get_translation_aux()
3942 r->rpool.proxy_port[1])); in pf_get_translation_aux()
3957 if (r->rpool.cur->addr.type == in pf_get_translation_aux()
3959 if (r->rpool.cur->addr.p.dyn == NULL) { in pf_get_translation_aux()
3965 if (r->rpool.cur->addr.p.dyn-> in pf_get_translation_aux()
3970 &r->rpool.cur->addr.p.dyn-> in pf_get_translation_aux()
3972 &r->rpool.cur->addr.p.dyn-> in pf_get_translation_aux()
3978 if (r->rpool.cur->addr.p.dyn-> in pf_get_translation_aux()
3983 &r->rpool.cur->addr.p.dyn-> in pf_get_translation_aux()
3985 &r->rpool.cur->addr.p.dyn-> in pf_get_translation_aux()
3992 &r->rpool.cur->addr.v.a.addr, in pf_get_translation_aux()
3993 &r->rpool.cur->addr.v.a.mask, in pf_get_translation_aux()
4090 if ((r->rpool.opts & PF_POOL_TYPEMASK) == in pf_get_translation_aux()
4093 &r->rpool.cur->addr.v.a.mask, daddr, in pf_get_translation_aux()
4098 if (r->rpool.proxy_port[1]) { in pf_get_translation_aux()
4105 (r->rpool.proxy_port[1] - in pf_get_translation_aux()
4106 r->rpool.proxy_port[0] + in pf_get_translation_aux()
4107 1)) + r->rpool.proxy_port[0]; in pf_get_translation_aux()
4115 } else if (r->rpool.proxy_port[0]) { in pf_get_translation_aux()
4116 nsxport->port = htons(r->rpool. in pf_get_translation_aux()
4394 s->rt_kif = r->rpool.cur->kif; in pf_set_rt_ifp()
5817 r->rpool.opts & PF_POOL_STICKYADDR) && in pf_test_rule()
5823 if (nr != NULL && (nr->rpool.opts & PF_POOL_STICKYADDR) && in pf_test_rule()
9294 if (TAILQ_EMPTY(&r->rpool.list)) { in pf_route()
9305 ifp = r->rpool.cur->kif ? in pf_route()
9306 r->rpool.cur->kif->pfik_ifp : NULL; in pf_route()
9488 if (TAILQ_EMPTY(&r->rpool.list)) { in pf_route6()
9500 ifp = r->rpool.cur->kif ? r->rpool.cur->kif->pfik_ifp : NULL; in pf_route6()