Lines Matching refs:ipst

422 	ip_stack_t	*ipst;
426 ipst = CONNQ_TO_IPST(q);
468 zoneid, NULL, MATCH_IRE_DSTONLY, 0, ipst, NULL);
474 zoneid, NULL, MATCH_IRE_DSTONLY, 0, ipst, NULL);
498 tsol_gc_t *gc, ip_stack_t *ipst)
509 BUMP_IRE_STATS(ipst->ips_ire_stats_v4, ire_stats_alloced);
545 gc, ipst);
628 ip_stack_t *ipst)
641 gc, ipst);
656 uint_t flags, uchar_t ipversion, tsol_gc_t *gc, ip_stack_t *ipst)
709 ire->ire_ipst = ipst; /* No netstack_hold */
726 ip_stack_t *ipst = ill->ill_ipst;
739 ipst);
777 ire_walk(pfv_t func, void *arg, ip_stack_t *ipst)
779 ire_walk_ipvers(func, arg, 0, ALL_ZONES, ipst);
783 ire_walk_v4(pfv_t func, void *arg, zoneid_t zoneid, ip_stack_t *ipst)
785 ire_walk_ipvers(func, arg, IPV4_VERSION, zoneid, ipst);
789 ire_walk_v6(pfv_t func, void *arg, zoneid_t zoneid, ip_stack_t *ipst)
791 ire_walk_ipvers(func, arg, IPV6_VERSION, zoneid, ipst);
799 ip_stack_t *ipst)
808 NULL, zoneid, ipst);
812 ipst->ips_ip6_ftable_hash_size,
813 ipst->ips_ip_forwarding_table_v6,
814 NULL, zoneid, ipst);
837 ip_stack_t *ipst = ill->ill_ipst;
843 ill, ALL_ZONES, ipst);
847 IP6_MASK_TABLE_SIZE, ipst->ips_ip6_ftable_hash_size,
848 ipst->ips_ip_forwarding_table_v6,
849 ill, ALL_ZONES, ipst);
861 ill_t *ill, zoneid_t zoneid, ip_stack_t *ipst)
896 zoneid, ipst)) {
931 zoneid, dst_ill, NULL, ipst, B_FALSE);
939 dst_ill, NULL, ipst, B_FALSE);
952 dst_ill, NULL, ipst, B_FALSE);
955 ALL_ZONES, dst_ill, NULL, ipst, B_FALSE);
1011 ip_stack_t *ipst)
1024 if (ipftbl == ipst->ips_ip_forwarding_table_v6) {
1044 zoneid, ipst);
1062 rtfarg.rt_ipst = ipst; /* No netstack_hold */
1063 (void) ipst->ips_ip_ftable->rnh_walktree_mt(
1064 ipst->ips_ip_ftable,
1196 ip_stack_t *ipst = ire->ire_ipst;
1341 BUMP_IRE_STATS(ipst->ips_ire_stats_v4, ire_stats_inserted);
1371 ip_stack_t *ipst = ire->ire_ipst;
1379 BUMP_IRE_STATS(ipst->ips_ire_stats_v4,
1384 BUMP_IRE_STATS(ipst->ips_ire_stats_v6,
1456 ip_stack_t *ipst = irb->irb_ipst;
1464 RADIX_NODE_HEAD_WLOCK(ipst->ips_ip_ftable);
1467 rn = ipst->ips_ip_ftable->rnh_deladdr(rn->rn_key, rn->rn_mask,
1468 ipst->ips_ip_ftable);
1473 RADIX_NODE_HEAD_UNLOCK(ipst->ips_ip_ftable);
1477 RADIX_NODE_HEAD_UNLOCK(ipst->ips_ip_ftable);
1493 ip_stack_t *ipst = ire->ire_ipst;
1513 rw_enter(&ipst->ips_ire_dep_lock, RW_READER);
1520 rw_exit(&ipst->ips_ire_dep_lock);
1574 BUMP_IRE_STATS(ipst->ips_ire_stats_v6, ire_stats_deleted);
1576 BUMP_IRE_STATS(ipst->ips_ire_stats_v4, ire_stats_deleted);
1604 ip_stack_t *ipst = ire->ire_ipst;
1616 ire_delete_host_redirects(ire->ire_gateway_addr, ipst);
1628 rw_enter(&ipst->ips_ire_dep_lock, RW_WRITER);
1634 rw_exit(&ipst->ips_ire_dep_lock);
1646 ip_stack_t *ipst = ire->ire_ipst;
1654 atomic_add_32(&ipst->ips_num_ire_condemned, -1);
1723 BUMP_IRE_STATS(ipst->ips_ire_stats_v6, ire_stats_freed);
1725 BUMP_IRE_STATS(ipst->ips_ire_stats_v4, ire_stats_freed);
1757 ip_stack_t *ipst;
1762 ipst = irb->irb_ipst;
1773 rw_enter(&ipst->ips_ire_dep_lock, RW_READER);
1781 rw_exit(&ipst->ips_ire_dep_lock);
1797 ip_stack_t *ipst = ire->ire_ipst;
1813 RADIX_NODE_HEAD_WLOCK(ipst->ips_ip_ftable);
1821 ire_increment_generation(ipst->ips_ire_reject_v4);
1822 ire_increment_generation(ipst->ips_ire_blackhole_v4);
1827 RADIX_NODE_HEAD_UNLOCK(ipst->ips_ip_ftable);
1846 (void) ipst->ips_ip_ftable->rnh_matchaddr_args(&rt->rt_dst,
1847 ipst->ips_ip_ftable, ire_update_generation, NULL);
1850 RADIX_NODE_HEAD_UNLOCK(ipst->ips_ip_ftable);
1865 ip_stack_t *ipst = ire->ire_ipst;
1942 zoneid, ipst)) {
2042 ip_stack_t *ipst = ire->ire_ipst;
2065 ill, zoneid, tsl, match_flags, IRR_ALLOCATE, 0, ipst, NULL,
2069 ill, zoneid, tsl, match_flags, IRR_ALLOCATE, 0, ipst, NULL,
2135 const ts_label_t *tsl, ip_stack_t *ipst, boolean_t lock_held)
2143 ASSERT(RW_READ_HELD(&ipst->ips_ip_ftable->rnh_lock));
2145 RADIX_NODE_HEAD_RLOCK(ipst->ips_ip_ftable);
2160 rt = (struct rt_entry *)ipst->ips_ip_ftable->rnh_matchaddr_args(&rdst,
2161 ipst->ips_ip_ftable, ire_find_zoneid, (void *)&margs);
2164 RADIX_NODE_HEAD_UNLOCK(ipst->ips_ip_ftable);
2178 ip_stack_t *ipst = ire->ire_ipst;
2191 IP_STAT(ipst, ip_ire_reclaim_deleted);
2205 ip_ire_reclaim_stack(ip_stack_t *ipst)
2207 uint_t fraction = ipst->ips_ip_ire_reclaim_fraction;
2209 IP_STAT(ipst, ip_ire_reclaim_calls);
2211 ire_walk(ire_delete_reclaim, &fraction, ipst);
2218 ipcl_walk(conn_ixa_cleanup, (void *)B_FALSE, ipst);
2231 ip_stack_t *ipst;
2239 if ((ipst = ns->netstack_ip) == NULL) {
2243 ip_ire_reclaim_stack(ipst);
2292 ip_ire_init(ip_stack_t *ipst)
2297 mutex_init(&ipst->ips_ire_ft_init_lock, NULL, MUTEX_DEFAULT, 0);
2299 (void) rn_inithead((void **)&ipst->ips_ip_ftable, 32);
2305 ipst->ips_ip6_ftable_hash_size = ip6_ftable_hash_size;
2306 power2_roundup(&ipst->ips_ip6_ftable_hash_size);
2318 RTF_REJECT|RTF_UP, NULL, ipst);
2320 ipst->ips_ire_reject_v4 = ire;
2325 RTF_REJECT|RTF_UP, NULL, ipst);
2327 ipst->ips_ire_reject_v6 = ire;
2332 RTF_BLACKHOLE|RTF_UP, NULL, ipst);
2334 ipst->ips_ire_blackhole_v4 = ire;
2339 RTF_BLACKHOLE|RTF_UP, NULL, ipst);
2341 ipst->ips_ire_blackhole_v6 = ire;
2343 rw_init(&ipst->ips_ip6_ire_head_lock, NULL, RW_DEFAULT, NULL);
2344 rw_init(&ipst->ips_ire_dep_lock, NULL, RW_DEFAULT, NULL);
2359 ip_ire_fini(ip_stack_t *ipst)
2363 ire_make_condemned(ipst->ips_ire_reject_v6);
2364 ire_refrele_notr(ipst->ips_ire_reject_v6);
2365 ipst->ips_ire_reject_v6 = NULL;
2367 ire_make_condemned(ipst->ips_ire_reject_v4);
2368 ire_refrele_notr(ipst->ips_ire_reject_v4);
2369 ipst->ips_ire_reject_v4 = NULL;
2371 ire_make_condemned(ipst->ips_ire_blackhole_v6);
2372 ire_refrele_notr(ipst->ips_ire_blackhole_v6);
2373 ipst->ips_ire_blackhole_v6 = NULL;
2375 ire_make_condemned(ipst->ips_ire_blackhole_v4);
2376 ire_refrele_notr(ipst->ips_ire_blackhole_v4);
2377 ipst->ips_ire_blackhole_v4 = NULL;
2383 ire_walk(ire_delete, NULL, ipst);
2385 rn_freehead(ipst->ips_ip_ftable);
2386 ipst->ips_ip_ftable = NULL;
2388 rw_destroy(&ipst->ips_ire_dep_lock);
2389 rw_destroy(&ipst->ips_ip6_ire_head_lock);
2391 mutex_destroy(&ipst->ips_ire_ft_init_lock);
2397 if ((ptr = ipst->ips_ip_forwarding_table_v6[i]) == NULL)
2400 for (j = 0; j < ipst->ips_ip6_ftable_hash_size; j++) {
2405 ipst->ips_ip_forwarding_table_v6[i] = NULL;
2612 ip_stack_t *ipst = ire->ire_ipst;
2621 atomic_inc_32(&ipst->ips_num_ire_condemned);
2661 ire_increment_multicast_generation(ip_stack_t *ipst, boolean_t isv6)
2666 rw_enter(&ipst->ips_ill_g_lock, RW_READER);
2668 ill = ILL_START_WALK_V6(&ctx, ipst);
2670 ill = ILL_START_WALK_V4(&ctx, ipst);
2677 rw_exit(&ipst->ips_ill_g_lock);
2684 ire_reject(ip_stack_t *ipst, boolean_t isv6)
2689 ire = ipst->ips_ire_reject_v6;
2691 ire = ipst->ips_ire_reject_v4;
2702 ire_blackhole(ip_stack_t *ipst, boolean_t isv6)
2707 ire = ipst->ips_ire_blackhole_v6;
2709 ire = ipst->ips_ire_blackhole_v4;
2745 ip_stack_t *ipst = ire->ire_ipst;
2748 rw_enter(&ipst->ips_ire_dep_lock, RW_READER);
2769 rw_exit(&ipst->ips_ire_dep_lock);
2774 rw_exit(&ipst->ips_ire_dep_lock);
2855 ip_stack_t *ipst = ire->ire_ipst;
2860 ASSERT(RW_WRITE_HELD(&ipst->ips_ire_dep_lock));
2919 ip_stack_t *ipst = child->ire_ipst;
2922 ASSERT(RW_WRITE_HELD(&ipst->ips_ire_dep_lock));
2973 ip_stack_t *ipst;
2981 ipst = ire->ire_ipst;
2982 rw_enter(&ipst->ips_ire_dep_lock, RW_WRITER);
3004 rw_exit(&ipst->ips_ire_dep_lock);
3013 rw_exit(&ipst->ips_ire_dep_lock);
3024 ip_stack_t *ipst;
3031 ipst = ires[0]->ire_ipst;
3032 rw_enter(&ipst->ips_ire_dep_lock, RW_WRITER);
3042 rw_exit(&ipst->ips_ire_dep_lock);
3123 ip_stack_t *ipst = ire->ire_ipst;
3133 rw_enter(&ipst->ips_ire_dep_lock, RW_READER);
3141 rw_exit(&ipst->ips_ire_dep_lock);
3188 ip_stack_t *ipst = ire->ire_ipst;
3192 rw_enter(&ipst->ips_ire_dep_lock, RW_READER);
3203 rw_exit(&ipst->ips_ire_dep_lock);
3217 rw_exit(&ipst->ips_ire_dep_lock);
3230 ip_stack_t *ipst = ire->ire_ipst;
3232 rw_enter(&ipst->ips_ire_dep_lock, RW_READER);
3241 rw_exit(&ipst->ips_ire_dep_lock);
3248 ip_stack_t *ipst = child->ire_ipst;
3250 ASSERT(RW_WRITE_HELD(&ipst->ips_ire_dep_lock));
3266 ip_stack_t *ipst = child->ire_ipst;
3268 ASSERT(RW_READ_HELD(&ipst->ips_ire_dep_lock));
3295 ip_stack_t *ipst = parent->ire_ipst;
3297 rw_enter(&ipst->ips_ire_dep_lock, RW_READER);
3299 rw_exit(&ipst->ips_ire_dep_lock);
3546 ip_stack_t *ipst = parent->ire_ipst;
3550 rw_enter(&ipst->ips_ire_dep_lock, RW_READER);
3552 rw_exit(&ipst->ips_ire_dep_lock);
3561 rw_exit(&ipst->ips_ire_dep_lock);
3569 rw_exit(&ipst->ips_ire_dep_lock);
3588 ip_stack_t *ipst = ire->ire_ipst;
3595 ipst, NULL);
3599 ipst, NULL);
3613 ire->ire_zoneid, ire->ire_flags, NULL, ipst);
3618 ire->ire_zoneid, ire->ire_flags, NULL, ipst);