Lines Matching refs:rpool

1346 		    rule->rpool.opts & PF_POOL_STICKYADDR) {  in pf_insert_src_node()
1372 rule->rpool.opts & PF_POOL_STICKYADDR) { in pf_insert_src_node()
3275 struct pf_pool *rpool = &r->rpool; in pf_map_addr() local
3276 struct pf_addr *raddr = &rpool->cur->addr.v.a.addr; in pf_map_addr()
3277 struct pf_addr *rmask = &rpool->cur->addr.v.a.mask; in pf_map_addr()
3278 struct pf_pooladdr *acur = rpool->cur; in pf_map_addr()
3281 if (*sn == NULL && r->rpool.opts & PF_POOL_STICKYADDR && in pf_map_addr()
3282 (r->rpool.opts & PF_POOL_TYPEMASK) != PF_POOL_NONE) { in pf_map_addr()
3286 r->rpool.opts & PF_POOL_STICKYADDR) { in pf_map_addr()
3293 if (*sn != NULL && !PF_AZERO(&(*sn)->raddr, rpool->af)) { in pf_map_addr()
3294 PF_ACPY(naddr, &(*sn)->raddr, rpool->af); in pf_map_addr()
3299 pf_print_host(naddr, 0, rpool->af); in pf_map_addr()
3306 if (rpool->cur->addr.type == PF_ADDR_NOROUTE) { in pf_map_addr()
3309 if (rpool->cur->addr.type == PF_ADDR_DYNIFTL) { in pf_map_addr()
3310 if (rpool->cur->addr.p.dyn == NULL) { in pf_map_addr()
3313 switch (rpool->af) { in pf_map_addr()
3316 if (rpool->cur->addr.p.dyn->pfid_acnt4 < 1 && in pf_map_addr()
3317 (rpool->opts & PF_POOL_TYPEMASK) != in pf_map_addr()
3321 raddr = &rpool->cur->addr.p.dyn->pfid_addr4; in pf_map_addr()
3322 rmask = &rpool->cur->addr.p.dyn->pfid_mask4; in pf_map_addr()
3326 if (rpool->cur->addr.p.dyn->pfid_acnt6 < 1 && in pf_map_addr()
3327 (rpool->opts & PF_POOL_TYPEMASK) != in pf_map_addr()
3331 raddr = &rpool->cur->addr.p.dyn->pfid_addr6; in pf_map_addr()
3332 rmask = &rpool->cur->addr.p.dyn->pfid_mask6; in pf_map_addr()
3335 } else if (rpool->cur->addr.type == PF_ADDR_TABLE) { in pf_map_addr()
3336 if ((rpool->opts & PF_POOL_TYPEMASK) != PF_POOL_ROUNDROBIN) { in pf_map_addr()
3340 raddr = &rpool->cur->addr.v.a.addr; in pf_map_addr()
3341 rmask = &rpool->cur->addr.v.a.mask; in pf_map_addr()
3344 switch (rpool->opts & PF_POOL_TYPEMASK) { in pf_map_addr()
3346 PF_ACPY(naddr, raddr, rpool->af); in pf_map_addr()
3349 ASSERT(af == rpool->af); in pf_map_addr()
3353 if (init_addr != NULL && PF_AZERO(init_addr, rpool->af)) { in pf_map_addr()
3357 rpool->counter.addr32[0] = htonl(random()); in pf_map_addr()
3362 rpool->counter.addr32[3] = in pf_map_addr()
3368 rpool->counter.addr32[2] = in pf_map_addr()
3374 rpool->counter.addr32[1] = in pf_map_addr()
3380 rpool->counter.addr32[0] = in pf_map_addr()
3385 PF_POOLMASK(naddr, raddr, rmask, &rpool->counter, in pf_map_addr()
3386 rpool->af); in pf_map_addr()
3387 PF_ACPY(init_addr, naddr, rpool->af); in pf_map_addr()
3389 PF_AINC(&rpool->counter, rpool->af); in pf_map_addr()
3390 PF_POOLMASK(naddr, raddr, rmask, &rpool->counter, in pf_map_addr()
3391 rpool->af); in pf_map_addr()
3395 ASSERT(af == rpool->af); in pf_map_addr()
3398 &rpool->key, af); in pf_map_addr()
3403 if (rpool->cur->addr.type == PF_ADDR_TABLE) { in pf_map_addr()
3404 if (!pfr_pool_get(rpool->cur->addr.p.tbl, in pf_map_addr()
3405 &rpool->tblidx, &rpool->counter, in pf_map_addr()
3406 &raddr, &rmask, rpool->af)) { in pf_map_addr()
3409 } else if (rpool->cur->addr.type == PF_ADDR_DYNIFTL) { in pf_map_addr()
3410 if (rpool->cur->addr.p.dyn != NULL && in pf_map_addr()
3411 !pfr_pool_get(rpool->cur->addr.p.dyn->pfid_kt, in pf_map_addr()
3412 &rpool->tblidx, &rpool->counter, in pf_map_addr()
3416 } else if (pf_match_addr(0, raddr, rmask, &rpool->counter, in pf_map_addr()
3417 rpool->af)) { in pf_map_addr()
3422 if ((rpool->cur = TAILQ_NEXT(rpool->cur, entries)) == NULL) { in pf_map_addr()
3423 rpool->cur = TAILQ_FIRST(&rpool->list); in pf_map_addr()
3425 if (rpool->cur->addr.type == PF_ADDR_TABLE) { in pf_map_addr()
3426 rpool->tblidx = -1; in pf_map_addr()
3427 if (pfr_pool_get(rpool->cur->addr.p.tbl, in pf_map_addr()
3428 &rpool->tblidx, &rpool->counter, in pf_map_addr()
3429 &raddr, &rmask, rpool->af)) { in pf_map_addr()
3432 if (rpool->cur != acur) { in pf_map_addr()
3437 } else if (rpool->cur->addr.type == PF_ADDR_DYNIFTL) { in pf_map_addr()
3438 rpool->tblidx = -1; in pf_map_addr()
3439 if (rpool->cur->addr.p.dyn == NULL) { in pf_map_addr()
3442 if (pfr_pool_get(rpool->cur->addr.p.dyn->pfid_kt, in pf_map_addr()
3443 &rpool->tblidx, &rpool->counter, in pf_map_addr()
3444 &raddr, &rmask, rpool->af)) { in pf_map_addr()
3447 if (rpool->cur != acur) { in pf_map_addr()
3453 raddr = &rpool->cur->addr.v.a.addr; in pf_map_addr()
3454 rmask = &rpool->cur->addr.v.a.mask; in pf_map_addr()
3455 PF_ACPY(&rpool->counter, raddr, rpool->af); in pf_map_addr()
3459 PF_ACPY(naddr, &rpool->counter, rpool->af); in pf_map_addr()
3460 if (init_addr != NULL && PF_AZERO(init_addr, rpool->af)) { in pf_map_addr()
3461 PF_ACPY(init_addr, naddr, rpool->af); in pf_map_addr()
3463 PF_AINC(&rpool->counter, rpool->af); in pf_map_addr()
3467 PF_ACPY(&(*sn)->raddr, naddr, rpool->af); in pf_map_addr()
3471 (rpool->opts & PF_POOL_TYPEMASK) != PF_POOL_NONE) { in pf_map_addr()
3473 pf_print_host(naddr, 0, rpool->af); in pf_map_addr()
3496 unsigned int low = r->rpool.proxy_port[0]; in pf_get_sport()
3497 unsigned int high = r->rpool.proxy_port[1]; in pf_get_sport()
3695 switch (r->rpool.opts & PF_POOL_TYPEMASK) { in pf_get_sport()
3734 if (r->rpool.cur != NULL) { in pf_match_translation()
3735 xdst = &r->rpool.cur->addr; in pf_match_translation()
3740 if (r->rpool.cur != NULL) { in pf_match_translation()
3743 htons(r->rpool.proxy_port[0]); in pf_match_translation()
3744 xsrc = &r->rpool.cur->addr; in pf_match_translation()
3903 r->rpool.proxy_port[0], in pf_get_translation_aux()
3904 r->rpool.proxy_port[1])); in pf_get_translation_aux()
3919 if (r->rpool.cur->addr.type == in pf_get_translation_aux()
3921 if (r->rpool.cur->addr.p.dyn == NULL) { in pf_get_translation_aux()
3927 if (r->rpool.cur->addr.p.dyn-> in pf_get_translation_aux()
3932 &r->rpool.cur->addr.p.dyn-> in pf_get_translation_aux()
3934 &r->rpool.cur->addr.p.dyn-> in pf_get_translation_aux()
3940 if (r->rpool.cur->addr.p.dyn-> in pf_get_translation_aux()
3945 &r->rpool.cur->addr.p.dyn-> in pf_get_translation_aux()
3947 &r->rpool.cur->addr.p.dyn-> in pf_get_translation_aux()
3954 &r->rpool.cur->addr.v.a.addr, in pf_get_translation_aux()
3955 &r->rpool.cur->addr.v.a.mask, in pf_get_translation_aux()
4052 if ((r->rpool.opts & PF_POOL_TYPEMASK) == in pf_get_translation_aux()
4055 &r->rpool.cur->addr.v.a.mask, daddr, in pf_get_translation_aux()
4060 if (r->rpool.proxy_port[1]) { in pf_get_translation_aux()
4067 (r->rpool.proxy_port[1] - in pf_get_translation_aux()
4068 r->rpool.proxy_port[0] + in pf_get_translation_aux()
4069 1)) + r->rpool.proxy_port[0]; in pf_get_translation_aux()
4077 } else if (r->rpool.proxy_port[0]) { in pf_get_translation_aux()
4078 nsxport->port = htons(r->rpool. in pf_get_translation_aux()
4356 s->rt_kif = r->rpool.cur->kif; in pf_set_rt_ifp()
5781 r->rpool.opts & PF_POOL_STICKYADDR) && in pf_test_rule()
5787 if (nr != NULL && (nr->rpool.opts & PF_POOL_STICKYADDR) && in pf_test_rule()
9259 if (TAILQ_EMPTY(&r->rpool.list)) { in pf_route()
9270 ifp = r->rpool.cur->kif ? in pf_route()
9271 r->rpool.cur->kif->pfik_ifp : NULL; in pf_route()
9453 if (TAILQ_EMPTY(&r->rpool.list)) { in pf_route6()
9465 ifp = r->rpool.cur->kif ? r->rpool.cur->kif->pfik_ifp : NULL; in pf_route6()