Lines Matching refs:ipst

79 #define	IP_SRC_MULTIHOMING(isv6, ipst) 			\
80 (isv6 ? ipst->ips_ipv6_strict_src_multihoming : \
81 ipst->ips_ip_strict_src_multihoming)
97 int flags, uint32_t xmit_hint, ip_stack_t *ipst, uint_t *generationp)
145 RADIX_NODE_HEAD_RLOCK(ipst->ips_ip_ftable);
146 rt = (struct rt_entry *)ipst->ips_ip_ftable->rnh_matchaddr_args(&rdst,
147 ipst->ips_ip_ftable, ire_find_best_route, &margs);
150 RADIX_NODE_HEAD_UNLOCK(ipst->ips_ip_ftable);
165 if (ipst->ips_ip_ecmp_behavior == 2 ||
166 (ipst->ips_ip_ecmp_behavior == 1 &&
172 xmit_hint, ire, ipst);
187 RADIX_NODE_HEAD_UNLOCK(ipst->ips_ip_ftable);
202 ipst->ips_ip_restrict_interzone_loopback) {
222 ire_ftable_lookup_simple_v4(ipaddr_t addr, uint32_t xmit_hint, ip_stack_t *ipst,
237 RADIX_NODE_HEAD_RLOCK(ipst->ips_ip_ftable);
239 rt = (struct rt_entry *)ipst->ips_ip_ftable->rnh_matchaddr_args(&rdst,
240 ipst->ips_ip_ftable, NULL, NULL);
279 if (ipst->ips_ip_ecmp_behavior == 2 ||
280 (ipst->ips_ip_ecmp_behavior == 1 &&
290 xmit_hint, ire, ipst);
295 RADIX_NODE_HEAD_UNLOCK(ipst->ips_ip_ftable);
306 RADIX_NODE_HEAD_UNLOCK(ipst->ips_ip_ftable);
318 RADIX_NODE_HEAD_UNLOCK(ipst->ips_ip_ftable);
319 return (ire_reject(ipst, B_FALSE));
341 ire_lookup_multi_ill_v4(ipaddr_t group, zoneid_t zoneid, ip_stack_t *ipst,
348 MATCH_IRE_DSTONLY, IRR_NONE, 0, ipst, setsrcp, NULL, NULL);
381 ire_delete_host_redirects(ipaddr_t gateway, ip_stack_t *ipst)
389 rtfarg.rt_ipst = ipst;
390 (void) ipst->ips_ip_ftable->rnh_walktree_mt(ipst->ips_ip_ftable,
412 ip_stack_t *ipst = ire->ire_ipst;
414 ASSERT(ipst->ips_ip_ftable != NULL);
440 irb->irb_ipst = ipst;
442 RADIX_NODE_HEAD_WLOCK(ipst->ips_ip_ftable);
443 rn = ipst->ips_ip_ftable->rnh_addaddr(&rt->rt_dst, &rmask,
444 ipst->ips_ip_ftable, (struct radix_node *)rt);
446 RADIX_NODE_HEAD_UNLOCK(ipst->ips_ip_ftable);
450 RADIX_NODE_HEAD_RLOCK(ipst->ips_ip_ftable);
451 rn = ipst->ips_ip_ftable->rnh_lookup(&rdst, &rmask,
452 ipst->ips_ip_ftable);
462 RADIX_NODE_HEAD_UNLOCK(ipst->ips_ip_ftable);
483 ip_stack_t *ipst;
497 ipst = ns->netstack_ip;
501 if ((ire = route_to_dst(ipaddr, zoneid, ipst)) != NULL) {
518 route_to_dst(const struct sockaddr *dst_addr, zoneid_t zoneid, ip_stack_t *ipst)
530 zoneid, NULL, match_flags, IRR_ALLOCATE, 0, ipst, NULL,
535 zoneid, NULL, match_flags, IRR_ALLOCATE, 0, ipst, NULL,
578 ip_stack_t *ipst;
596 ipst = ns->netstack_ip;
610 ixas.ixa_ipst = ipst;
807 ire_t *orig_ire, ip_stack_t *ipst)
892 ire->ire_ill, margs->ift_tsl, ipst,
899 margs->ift_tsl, ipst, B_TRUE))
907 ipst->ips_ip_ire_badcnt_lifetime))
919 RADIX_NODE_HEAD_UNLOCK(ipst->ips_ip_ftable);
921 RADIX_NODE_HEAD_RLOCK(ipst->ips_ip_ftable);
923 rw_exit(&ipst->ips_ip6_ire_head_lock);
925 rw_enter(&ipst->ips_ip6_ire_head_lock,
955 RADIX_NODE_HEAD_UNLOCK(ipst->ips_ip_ftable);
957 RADIX_NODE_HEAD_RLOCK(ipst->ips_ip_ftable);
959 rw_exit(&ipst->ips_ip6_ire_head_lock);
961 rw_enter(&ipst->ips_ip6_ire_head_lock, RW_READER);
989 ip_select_src_ill(const in6_addr_t *v6src, zoneid_t zoneid, ip_stack_t *ipst)
997 ipif = ipif_lookup_addr_nondup_v6(v6src, NULL, zoneid, ipst);
1000 ipif = ipif_lookup_addr_nondup(v4src, NULL, zoneid, ipst);
1017 ip_stack_t *ipst;
1022 ipst = ill->ill_ipst;
1025 ipif = ipif_lookup_addr_nondup_v6(&v6src, ill, zoneid, ipst);
1028 ipif = ipif_lookup_addr_nondup(v4src, ill, zoneid, ipst);
1069 ip_stack_t *ipst = ixa->ixa_ipst;
1077 int src_multihoming = IP_SRC_MULTIHOMING(isv6, ipst);
1103 isv6, ipst);
1108 isv6, ipst);
1116 isv6, ipst);
1119 ill = ip_select_src_ill(&v6src, ixa->ixa_zoneid, ipst);
1136 ipst, multirtp, &v4setsrc);
1141 ipst, multirtp, setsrcp);
1151 ire = ire_reject(ipst, isv6);
1159 ire = ire_reject(ipst, isv6);
1173 ire = ire_reject(ipst, isv6);
1194 isv6, ipst);
1198 isv6, ipst);
1208 ire = ire_reject(ipst, isv6);
1233 ire = ire_reject(ipst, isv6);
1238 ill = ip_select_src_ill(&v6src, ixa->ixa_zoneid, ipst);
1248 ire = ire_reject(ipst, isv6);
1281 ixa->ixa_xmit_hint, ipst, &v4setsrc, NULL, generationp);
1287 ixa->ixa_xmit_hint, ipst, setsrcp, NULL, generationp);
1401 uint_t irr_flags, uint32_t xmit_hint, ip_stack_t *ipst, ipaddr_t *setsrcp,
1429 match_args, xmit_hint, ipst, &generation);
1443 ire = ire_reject(ipst, B_FALSE);
1568 ire = ire_blackhole(ipst, B_FALSE);
1611 ire = ire_reject(ipst, B_FALSE);
1651 ire = ire_reject(ipst, B_FALSE);
1697 uint_t irr_flags, uint32_t xmit_hint, ip_stack_t *ipst, ipaddr_t *setsrcp,
1701 zoneid, tsl, match_args, irr_flags, xmit_hint, ipst, setsrcp,
1719 uint32_t xmit_hint, ip_stack_t *ipst)
1726 ire = ire_ftable_lookup_simple_v4(nexthop, xmit_hint, ipst,
1758 NULL, MATCH_IRE_DSTONLY, irr_flags, xmit_hint, ipst, NULL, NULL,