Lines Matching refs:rpool
1363 rule->rpool.opts & PF_POOL_STICKYADDR) { in pf_insert_src_node()
1389 rule->rpool.opts & PF_POOL_STICKYADDR) { in pf_insert_src_node()
3316 struct pf_pool *__single rpool = &r->rpool; in pf_map_addr() local
3317 struct pf_addr *__single raddr = &rpool->cur->addr.v.a.addr; in pf_map_addr()
3318 struct pf_addr *__single rmask = &rpool->cur->addr.v.a.mask; in pf_map_addr()
3319 struct pf_pooladdr *__single acur = rpool->cur; in pf_map_addr()
3322 if (*sn == NULL && r->rpool.opts & PF_POOL_STICKYADDR && in pf_map_addr()
3323 (r->rpool.opts & PF_POOL_TYPEMASK) != PF_POOL_NONE) { in pf_map_addr()
3327 r->rpool.opts & PF_POOL_STICKYADDR) { in pf_map_addr()
3334 if (*sn != NULL && !PF_AZERO(&(*sn)->raddr, rpool->af)) { in pf_map_addr()
3335 PF_ACPY(naddr, &(*sn)->raddr, rpool->af); in pf_map_addr()
3340 pf_print_host(naddr, 0, rpool->af); in pf_map_addr()
3347 if (rpool->cur->addr.type == PF_ADDR_NOROUTE) { in pf_map_addr()
3350 if (rpool->cur->addr.type == PF_ADDR_DYNIFTL) { in pf_map_addr()
3351 if (rpool->cur->addr.p.dyn == NULL) { in pf_map_addr()
3354 switch (rpool->af) { in pf_map_addr()
3357 if (rpool->cur->addr.p.dyn->pfid_acnt4 < 1 && in pf_map_addr()
3358 (rpool->opts & PF_POOL_TYPEMASK) != in pf_map_addr()
3362 raddr = &rpool->cur->addr.p.dyn->pfid_addr4; in pf_map_addr()
3363 rmask = &rpool->cur->addr.p.dyn->pfid_mask4; in pf_map_addr()
3367 if (rpool->cur->addr.p.dyn->pfid_acnt6 < 1 && in pf_map_addr()
3368 (rpool->opts & PF_POOL_TYPEMASK) != in pf_map_addr()
3372 raddr = &rpool->cur->addr.p.dyn->pfid_addr6; in pf_map_addr()
3373 rmask = &rpool->cur->addr.p.dyn->pfid_mask6; in pf_map_addr()
3376 } else if (rpool->cur->addr.type == PF_ADDR_TABLE) { in pf_map_addr()
3377 if ((rpool->opts & PF_POOL_TYPEMASK) != PF_POOL_ROUNDROBIN) { in pf_map_addr()
3381 raddr = &rpool->cur->addr.v.a.addr; in pf_map_addr()
3382 rmask = &rpool->cur->addr.v.a.mask; in pf_map_addr()
3385 switch (rpool->opts & PF_POOL_TYPEMASK) { in pf_map_addr()
3387 PF_ACPY(naddr, raddr, rpool->af); in pf_map_addr()
3390 ASSERT(af == rpool->af); in pf_map_addr()
3394 if (init_addr != NULL && PF_AZERO(init_addr, rpool->af)) { in pf_map_addr()
3398 rpool->counter.addr32[0] = htonl(random()); in pf_map_addr()
3403 rpool->counter.addr32[3] = in pf_map_addr()
3409 rpool->counter.addr32[2] = in pf_map_addr()
3415 rpool->counter.addr32[1] = in pf_map_addr()
3421 rpool->counter.addr32[0] = in pf_map_addr()
3426 PF_POOLMASK(naddr, raddr, rmask, &rpool->counter, in pf_map_addr()
3427 rpool->af); in pf_map_addr()
3428 PF_ACPY(init_addr, naddr, rpool->af); in pf_map_addr()
3430 PF_AINC(&rpool->counter, rpool->af); in pf_map_addr()
3431 PF_POOLMASK(naddr, raddr, rmask, &rpool->counter, in pf_map_addr()
3432 rpool->af); in pf_map_addr()
3436 ASSERT(af == rpool->af); in pf_map_addr()
3439 &rpool->key, af); in pf_map_addr()
3444 if (rpool->cur->addr.type == PF_ADDR_TABLE) { in pf_map_addr()
3445 if (!pfr_pool_get(rpool->cur->addr.p.tbl, in pf_map_addr()
3446 &rpool->tblidx, &rpool->counter, in pf_map_addr()
3447 &raddr, &rmask, rpool->af)) { in pf_map_addr()
3450 } else if (rpool->cur->addr.type == PF_ADDR_DYNIFTL) { in pf_map_addr()
3451 if (rpool->cur->addr.p.dyn != NULL && in pf_map_addr()
3452 !pfr_pool_get(rpool->cur->addr.p.dyn->pfid_kt, in pf_map_addr()
3453 &rpool->tblidx, &rpool->counter, in pf_map_addr()
3457 } else if (pf_match_addr(0, raddr, rmask, &rpool->counter, in pf_map_addr()
3458 rpool->af)) { in pf_map_addr()
3463 if ((rpool->cur = TAILQ_NEXT(rpool->cur, entries)) == NULL) { in pf_map_addr()
3464 rpool->cur = TAILQ_FIRST(&rpool->list); in pf_map_addr()
3466 if (rpool->cur->addr.type == PF_ADDR_TABLE) { in pf_map_addr()
3467 rpool->tblidx = -1; in pf_map_addr()
3468 if (pfr_pool_get(rpool->cur->addr.p.tbl, in pf_map_addr()
3469 &rpool->tblidx, &rpool->counter, in pf_map_addr()
3470 &raddr, &rmask, rpool->af)) { in pf_map_addr()
3473 if (rpool->cur != acur) { in pf_map_addr()
3478 } else if (rpool->cur->addr.type == PF_ADDR_DYNIFTL) { in pf_map_addr()
3479 rpool->tblidx = -1; in pf_map_addr()
3480 if (rpool->cur->addr.p.dyn == NULL) { in pf_map_addr()
3483 if (pfr_pool_get(rpool->cur->addr.p.dyn->pfid_kt, in pf_map_addr()
3484 &rpool->tblidx, &rpool->counter, in pf_map_addr()
3485 &raddr, &rmask, rpool->af)) { in pf_map_addr()
3488 if (rpool->cur != acur) { in pf_map_addr()
3494 raddr = &rpool->cur->addr.v.a.addr; in pf_map_addr()
3495 rmask = &rpool->cur->addr.v.a.mask; in pf_map_addr()
3496 PF_ACPY(&rpool->counter, raddr, rpool->af); in pf_map_addr()
3500 PF_ACPY(naddr, &rpool->counter, rpool->af); in pf_map_addr()
3501 if (init_addr != NULL && PF_AZERO(init_addr, rpool->af)) { in pf_map_addr()
3502 PF_ACPY(init_addr, naddr, rpool->af); in pf_map_addr()
3504 PF_AINC(&rpool->counter, rpool->af); in pf_map_addr()
3508 PF_ACPY(&(*sn)->raddr, naddr, rpool->af); in pf_map_addr()
3512 (rpool->opts & PF_POOL_TYPEMASK) != PF_POOL_NONE) { in pf_map_addr()
3514 pf_print_host(naddr, 0, rpool->af); in pf_map_addr()
3537 unsigned int low = r->rpool.proxy_port[0]; in pf_get_sport()
3538 unsigned int high = r->rpool.proxy_port[1]; in pf_get_sport()
3736 switch (r->rpool.opts & PF_POOL_TYPEMASK) { in pf_get_sport()
3775 if (r->rpool.cur != NULL) { in pf_match_translation()
3776 xdst = &r->rpool.cur->addr; in pf_match_translation()
3781 if (r->rpool.cur != NULL) { in pf_match_translation()
3784 htons(r->rpool.proxy_port[0]); in pf_match_translation()
3785 xsrc = &r->rpool.cur->addr; in pf_match_translation()
3944 r->rpool.proxy_port[0], in pf_get_translation_aux()
3945 r->rpool.proxy_port[1])); in pf_get_translation_aux()
3960 if (r->rpool.cur->addr.type == in pf_get_translation_aux()
3962 if (r->rpool.cur->addr.p.dyn == NULL) { in pf_get_translation_aux()
3968 if (r->rpool.cur->addr.p.dyn-> in pf_get_translation_aux()
3973 &r->rpool.cur->addr.p.dyn-> in pf_get_translation_aux()
3975 &r->rpool.cur->addr.p.dyn-> in pf_get_translation_aux()
3981 if (r->rpool.cur->addr.p.dyn-> in pf_get_translation_aux()
3986 &r->rpool.cur->addr.p.dyn-> in pf_get_translation_aux()
3988 &r->rpool.cur->addr.p.dyn-> in pf_get_translation_aux()
3995 &r->rpool.cur->addr.v.a.addr, in pf_get_translation_aux()
3996 &r->rpool.cur->addr.v.a.mask, in pf_get_translation_aux()
4093 if ((r->rpool.opts & PF_POOL_TYPEMASK) == in pf_get_translation_aux()
4096 &r->rpool.cur->addr.v.a.mask, daddr, in pf_get_translation_aux()
4101 if (r->rpool.proxy_port[1]) { in pf_get_translation_aux()
4108 (r->rpool.proxy_port[1] - in pf_get_translation_aux()
4109 r->rpool.proxy_port[0] + in pf_get_translation_aux()
4110 1)) + r->rpool.proxy_port[0]; in pf_get_translation_aux()
4118 } else if (r->rpool.proxy_port[0]) { in pf_get_translation_aux()
4119 nsxport->port = htons(r->rpool. in pf_get_translation_aux()
4397 s->rt_kif = r->rpool.cur->kif; in pf_set_rt_ifp()
5820 r->rpool.opts & PF_POOL_STICKYADDR) && in pf_test_rule()
5826 if (nr != NULL && (nr->rpool.opts & PF_POOL_STICKYADDR) && in pf_test_rule()
9301 if (TAILQ_EMPTY(&r->rpool.list)) { in pf_route()
9313 ifp = r->rpool.cur->kif ? in pf_route()
9314 r->rpool.cur->kif->pfik_ifp : NULL; in pf_route()
9504 if (TAILQ_EMPTY(&r->rpool.list)) { in pf_route6()
9517 ifp = r->rpool.cur->kif ? r->rpool.cur->kif->pfik_ifp : NULL; in pf_route6()