Lines Matching refs:ipst

683 static mblk_t	*ip_snmp_get_mib2_icmp(queue_t *, mblk_t *, ip_stack_t *ipst);
684 static mblk_t *ip_snmp_get_mib2_icmp6(queue_t *, mblk_t *, ip_stack_t *ipst);
685 static mblk_t *ip_snmp_get_mib2_igmp(queue_t *, mblk_t *, ip_stack_t *ipst);
686 static mblk_t *ip_snmp_get_mib2_multi(queue_t *, mblk_t *, ip_stack_t *ipst);
688 ip_stack_t *ipst, boolean_t);
690 ip_stack_t *ipst, boolean_t);
692 ip_stack_t *ipst);
694 ip_stack_t *ipst);
696 ip_stack_t *ipst);
698 ip_stack_t *ipst);
700 ip_stack_t *ipst);
702 ip_stack_t *ipst);
704 ip_stack_t *ipst);
706 ip_stack_t *ipst);
1234 ip_stack_t *ipst = ira->ira_ill->ill_ipst;
1244 BUMP_MIB(&ipst->ips_icmp_mib, icmpOutFragNeeded);
1245 BUMP_MIB(&ipst->ips_icmp_mib, icmpOutDestUnreachs);
1340 ip_stack_t *ipst = ill->ill_ipst;
1347 BUMP_MIB(&ipst->ips_icmp_mib, icmpInMsgs);
1360 BUMP_MIB(&ipst->ips_icmp_mib, icmpInErrors);
1378 BUMP_MIB(&ipst->ips_icmp_mib, icmpInEchoReps);
1382 BUMP_MIB(&ipst->ips_icmp_mib, icmpInFragNeeded);
1384 BUMP_MIB(&ipst->ips_icmp_mib, icmpInDestUnreachs);
1388 BUMP_MIB(&ipst->ips_icmp_mib, icmpInSrcQuenchs);
1391 if (!ipst->ips_ip_ignore_redirect)
1393 BUMP_MIB(&ipst->ips_icmp_mib, icmpInRedirects);
1404 interested = ipst->ips_ip_g_resp_to_echo_mcast;
1407 interested = ipst->ips_ip_g_resp_to_echo_bcast;
1412 BUMP_MIB(&ipst->ips_icmp_mib, icmpInEchos);
1426 BUMP_MIB(&ipst->ips_icmp_mib, icmpOutDrops);
1434 BUMP_MIB(&ipst->ips_icmp_mib, icmpOutEchoReps);
1443 BUMP_MIB(&ipst->ips_icmp_mib, icmpInTimeExcds);
1447 BUMP_MIB(&ipst->ips_icmp_mib, icmpInParmProbs);
1451 if (ipst->ips_ip_g_resp_to_timestamp) {
1454 ipst->ips_ip_g_resp_to_timestamp_bcast;
1480 BUMP_MIB(&ipst->ips_icmp_mib, icmpInTimestamps);
1488 BUMP_MIB(&ipst->ips_icmp_mib, icmpOutDrops);
1504 BUMP_MIB(&ipst->ips_icmp_mib, icmpOutTimestampReps);
1509 BUMP_MIB(&ipst->ips_icmp_mib, icmpInTimestampReps);
1518 ipst->ips_ip_respond_to_address_mask_broadcast;
1541 BUMP_MIB(&ipst->ips_icmp_mib, icmpInAddrMasks);
1549 BUMP_MIB(&ipst->ips_icmp_mib, icmpOutDrops);
1562 ipif = ipif_lookup_addr(ipha->ipha_dst, ill, zoneid, ipst);
1574 BUMP_MIB(&ipst->ips_icmp_mib, icmpOutAddrMaskReps);
1579 BUMP_MIB(&ipst->ips_icmp_mib, icmpInAddrMaskReps);
1583 BUMP_MIB(&ipst->ips_icmp_mib, icmpInUnknowns);
1590 if (ipst->ips_ipcl_proto_fanout_v4[IPPROTO_ICMP].connf_head != NULL) {
1677 ip_stack_t *ipst = ill->ill_ipst;
1684 ipha->ipha_ttl = ipst->ips_ip_def_ttl;
1704 ixas.ixa_ipst = ipst;
1730 if (ipst->ips_ipv4_icmp_return_pmtu) {
1735 BUMP_MIB(&ipst->ips_icmp_mib, icmpOutMsgs);
1754 ip_stack_t *ipst = ira->ira_ill->ill_ipst;
1805 ipst);
1880 ip_stack_t *ipst = ill->ill_ipst;
1898 dce = dce_lookup_and_add_v4(dst, ipst);
1917 if (icmph->icmph_du_zero != 0 || mtu < ipst->ips_ip_pmtu_min) {
1949 mtu = ipst->ips_ip_pmtu_min;
1954 if (mtu < ipst->ips_ip_pmtu_min) {
1955 mtu = ipst->ips_ip_pmtu_min;
2081 ip_stack_t *ipst = ill->ill_ipst;
2082 ipsec_stack_t *ipss = ipst->ips_netstack->netstack_ipsec;
2130 ipst);
2289 &ripha.ipha_dst, ipst)) != NULL) {
2632 ip_stack_t *ipst = ira->ira_ill->ill_ipst;
2642 ALL_ZONES, NULL, MATCH_IRE_TYPE, 0, ipst, NULL);
2650 NULL, MATCH_IRE_DSTONLY, 0, ipst, NULL);
2661 BUMP_MIB(&ipst->ips_icmp_mib, icmpInBadRedirects);
2686 BUMP_MIB(&ipst->ips_icmp_mib, icmpInBadRedirects);
2704 ipst);
2725 (RTA_DST | RTA_GATEWAY | RTA_NETMASK | RTA_AUTHOR), ipst);
2734 ALL_ZONES, NULL, (MATCH_IRE_GW | MATCH_IRE_TYPE), 0, ipst, NULL);
2753 ip_stack_t *ipst = ira->ira_ill->ill_ipst;
2762 BUMP_MIB(&ipst->ips_icmp_mib, icmpOutParmProbs);
2787 ip_stack_t *ipst = ira->ira_ill->ill_ipst;
2795 ixas.ixa_ipst = ipst;
2811 BUMP_MIB(&ipst->ips_ip_mib, ipIfStatsOutDiscards);
2833 MATCH_IRE_TYPE|MATCH_IRE_ZONEONLY, 0, ipst, NULL);
2851 BUMP_MIB(&ipst->ips_ip_mib, ipIfStatsOutDiscards);
2868 len_needed += ipst->ips_ip_icmp_return;
2876 BUMP_MIB(&ipst->ips_icmp_mib, icmpOutErrors);
2897 ipha->ipha_ttl = ipst->ips_ip_def_ttl;
2908 BUMP_MIB(&ipst->ips_icmp_mib, icmpOutMsgs);
2925 icmp_err_rate_limit(ip_stack_t *ipst)
2930 uint_t err_interval = ipst->ips_ip_icmp_err_interval;
2935 if (ipst->ips_icmp_pkt_err_last > now) {
2937 ipst->ips_icmp_pkt_err_last = 0;
2938 ipst->ips_icmp_pkt_err_sent = 0;
2945 if (ipst->ips_icmp_pkt_err_sent != 0) {
2946 refilled = (now - ipst->ips_icmp_pkt_err_last)/err_interval;
2947 if (refilled > ipst->ips_icmp_pkt_err_sent) {
2948 ipst->ips_icmp_pkt_err_sent = 0;
2950 ipst->ips_icmp_pkt_err_sent -= refilled;
2951 ipst->ips_icmp_pkt_err_last += refilled * err_interval;
2954 if (ipst->ips_icmp_pkt_err_sent == 0) {
2956 ipst->ips_icmp_pkt_err_last = now;
2958 if (ipst->ips_icmp_pkt_err_sent < ipst->ips_ip_icmp_err_burst) {
2959 ipst->ips_icmp_pkt_err_sent++;
2961 ipst->ips_icmp_pkt_err_sent));
2977 ip_stack_t *ipst = ira->ira_ill->ill_ipst;
2986 BUMP_MIB(&ipst->ips_ip_mib, ipIfStatsInCksumErrs);
2991 if (ip_type_v4(ipha->ipha_dst, ipst) == IRE_BROADCAST ||
2992 ip_type_v4(ipha->ipha_src, ipst) == IRE_BROADCAST ||
2997 BUMP_MIB(&ipst->ips_icmp_mib, icmpOutDrops);
3009 BUMP_MIB(&ipst->ips_icmp_mib, icmpInErrors);
3023 BUMP_MIB(&ipst->ips_icmp_mib, icmpOutDrops);
3036 BUMP_MIB(&ipst->ips_icmp_mib, icmpOutDrops);
3040 if (icmp_err_rate_limit(ipst)) {
3060 ip_stack_t *ipst = ira->ira_ill->ill_ipst;
3083 ip_source_routed(ipha, ipst))
3135 ip_stack_t *ipst = ira->ira_ill->ill_ipst;
3145 BUMP_MIB(&ipst->ips_icmp_mib, icmpOutRedirects);
3156 ip_stack_t *ipst = ira->ira_ill->ill_ipst;
3165 BUMP_MIB(&ipst->ips_icmp_mib, icmpOutTimeExcds);
3178 ip_stack_t *ipst = ira->ira_ill->ill_ipst;
3187 BUMP_MIB(&ipst->ips_icmp_mib, icmpOutDestUnreachs);
3246 ip_stack_t *ipst, boolean_t allow_mcbc)
3253 NULL, zoneid, NULL, MATCH_IRE_ZONEONLY, 0, ipst, NULL);
3297 ipif = ipif_lookup_addr(src_addr, NULL, zoneid, ipst);
3371 ip_stack_t *ipst = ixa->ixa_ipst;
3455 ire = ire_reject(ipst, B_FALSE);
3477 dce = dce_lookup_and_add_v4(dst_addr, ipst);
3481 dce = dce_lookup_v4(dst_addr, ipst, &generation);
3483 dce = dce_lookup_v4(dst_addr, ipst, &generation);
3575 ipst, &src_addr, &generation, NULL);
3715 ip_stack_t *ipst = ixa->ixa_ipst;
3729 if (!ipst->ips_ip_path_mtu_discovery)
3748 ipst->ips_ip_pathmtu_interval) {
3995 ip_stack_t *ipst = ill->ill_ipst;
4075 netstack_hold(ipst->ips_netstack);
4095 conn_walk_drain(ipst, &ipst->ips_idl_tx_list[i]);
4117 mutex_enter(&ipst->ips_ip_mi_lock);
4118 mi_close_unlink(&ipst->ips_ip_g_head, (IDP)ill);
4119 mutex_exit(&ipst->ips_ip_mi_lock);
4138 netstack_rele(ipst->ips_netstack);
4158 ip_stack_t *ipst;
4161 ipst = connp->conn_netstack->netstack_ip;
4218 if (connp == ipst->ips_ip_g_mrouter)
4219 (void) ip_mrouter_done(ipst);
4345 ip_stack_t *ipst = (ip_stack_t *)arg;
4349 printf("ip_stack_shutdown(%p, stack %d)\n", (void *)ipst, stackid);
4355 ip_interface_cleanup(ipst);
4361 ipv4_hook_shutdown(ipst);
4362 ipv6_hook_shutdown(ipst);
4363 arp_hook_shutdown(ipst);
4365 mutex_enter(&ipst->ips_capab_taskq_lock);
4366 ktid = ipst->ips_capab_taskq_thread->t_did;
4367 ipst->ips_capab_taskq_quit = B_TRUE;
4368 cv_signal(&ipst->ips_capab_taskq_cv);
4369 mutex_exit(&ipst->ips_capab_taskq_lock);
4387 ip_stack_t *ipst = (ip_stack_t *)arg;
4391 printf("ip_stack_fini(%p, stack %d)\n", (void *)ipst, stackid);
4398 ipobs_fini(ipst);
4399 ipv4_hook_destroy(ipst);
4400 ipv6_hook_destroy(ipst);
4401 arp_hook_destroy(ipst);
4402 ip_net_destroy(ipst);
4404 ipmp_destroy(ipst);
4406 ip_kstat_fini(stackid, ipst->ips_ip_mibkp);
4407 ipst->ips_ip_mibkp = NULL;
4408 icmp_kstat_fini(stackid, ipst->ips_icmp_mibkp);
4409 ipst->ips_icmp_mibkp = NULL;
4410 ip_kstat2_fini(stackid, ipst->ips_ip_kstat);
4411 ipst->ips_ip_kstat = NULL;
4412 bzero(&ipst->ips_ip_statistics, sizeof (ipst->ips_ip_statistics));
4413 ip6_kstat_fini(stackid, ipst->ips_ip6_kstat);
4414 ipst->ips_ip6_kstat = NULL;
4415 bzero(&ipst->ips_ip6_statistics, sizeof (ipst->ips_ip6_statistics));
4417 kmem_free(ipst->ips_propinfo_tbl,
4419 ipst->ips_propinfo_tbl = NULL;
4421 dce_stack_destroy(ipst);
4422 ip_mrouter_stack_destroy(ipst);
4429 mutex_enter(&ipst->ips_igmp_timer_lock);
4430 ipst->ips_igmp_timer_quiesce = B_TRUE;
4431 mutex_exit(&ipst->ips_igmp_timer_lock);
4433 mutex_enter(&ipst->ips_mld_timer_lock);
4434 ipst->ips_mld_timer_quiesce = B_TRUE;
4435 mutex_exit(&ipst->ips_mld_timer_lock);
4437 mutex_enter(&ipst->ips_igmp_slowtimeout_lock);
4438 ipst->ips_igmp_slowtimeout_quiesce = B_TRUE;
4439 mutex_exit(&ipst->ips_igmp_slowtimeout_lock);
4441 mutex_enter(&ipst->ips_mld_slowtimeout_lock);
4442 ipst->ips_mld_slowtimeout_quiesce = B_TRUE;
4443 mutex_exit(&ipst->ips_mld_slowtimeout_lock);
4445 ret = untimeout(ipst->ips_igmp_timeout_id);
4447 ASSERT(ipst->ips_igmp_timeout_id == 0);
4449 ASSERT(ipst->ips_igmp_timeout_id != 0);
4450 ipst->ips_igmp_timeout_id = 0;
4452 ret = untimeout(ipst->ips_igmp_slowtimeout_id);
4454 ASSERT(ipst->ips_igmp_slowtimeout_id == 0);
4456 ASSERT(ipst->ips_igmp_slowtimeout_id != 0);
4457 ipst->ips_igmp_slowtimeout_id = 0;
4459 ret = untimeout(ipst->ips_mld_timeout_id);
4461 ASSERT(ipst->ips_mld_timeout_id == 0);
4463 ASSERT(ipst->ips_mld_timeout_id != 0);
4464 ipst->ips_mld_timeout_id = 0;
4466 ret = untimeout(ipst->ips_mld_slowtimeout_id);
4468 ASSERT(ipst->ips_mld_slowtimeout_id == 0);
4470 ASSERT(ipst->ips_mld_slowtimeout_id != 0);
4471 ipst->ips_mld_slowtimeout_id = 0;
4474 ip_ire_fini(ipst);
4475 ip6_asp_free(ipst);
4476 conn_drain_fini(ipst);
4477 ipcl_destroy(ipst);
4479 mutex_destroy(&ipst->ips_ndp4->ndp_g_lock);
4480 mutex_destroy(&ipst->ips_ndp6->ndp_g_lock);
4481 kmem_free(ipst->ips_ndp4, sizeof (ndp_g_t));
4482 ipst->ips_ndp4 = NULL;
4483 kmem_free(ipst->ips_ndp6, sizeof (ndp_g_t));
4484 ipst->ips_ndp6 = NULL;
4486 if (ipst->ips_loopback_ksp != NULL) {
4487 kstat_delete_netstack(ipst->ips_loopback_ksp, stackid);
4488 ipst->ips_loopback_ksp = NULL;
4491 mutex_destroy(&ipst->ips_capab_taskq_lock);
4492 cv_destroy(&ipst->ips_capab_taskq_cv);
4494 rw_destroy(&ipst->ips_srcid_lock);
4496 mutex_destroy(&ipst->ips_ip_mi_lock);
4497 rw_destroy(&ipst->ips_ill_g_usesrc_lock);
4499 mutex_destroy(&ipst->ips_igmp_timer_lock);
4500 mutex_destroy(&ipst->ips_mld_timer_lock);
4501 mutex_destroy(&ipst->ips_igmp_slowtimeout_lock);
4502 mutex_destroy(&ipst->ips_mld_slowtimeout_lock);
4503 mutex_destroy(&ipst->ips_ip_addr_avail_lock);
4504 rw_destroy(&ipst->ips_ill_g_lock);
4506 kmem_free(ipst->ips_phyint_g_list, sizeof (phyint_list_t));
4507 ipst->ips_phyint_g_list = NULL;
4508 kmem_free(ipst->ips_ill_g_heads, sizeof (ill_g_head_t) * MAX_G_HEADS);
4509 ipst->ips_ill_g_heads = NULL;
4511 ldi_ident_release(ipst->ips_ldi_ident);
4512 kmem_free(ipst, sizeof (*ipst));
4613 ip_stack_t *ipst;
4621 ipst = (ip_stack_t *)kmem_zalloc(sizeof (*ipst), KM_SLEEP);
4622 ipst->ips_netstack = ns;
4624 ipst->ips_ill_g_heads = kmem_zalloc(sizeof (ill_g_head_t) * MAX_G_HEADS,
4626 ipst->ips_phyint_g_list = kmem_zalloc(sizeof (phyint_list_t),
4628 ipst->ips_ndp4 = kmem_zalloc(sizeof (ndp_g_t), KM_SLEEP);
4629 ipst->ips_ndp6 = kmem_zalloc(sizeof (ndp_g_t), KM_SLEEP);
4630 mutex_init(&ipst->ips_ndp4->ndp_g_lock, NULL, MUTEX_DEFAULT, NULL);
4631 mutex_init(&ipst->ips_ndp6->ndp_g_lock, NULL, MUTEX_DEFAULT, NULL);
4633 mutex_init(&ipst->ips_igmp_timer_lock, NULL, MUTEX_DEFAULT, NULL);
4634 ipst->ips_igmp_deferred_next = INFINITY;
4635 mutex_init(&ipst->ips_mld_timer_lock, NULL, MUTEX_DEFAULT, NULL);
4636 ipst->ips_mld_deferred_next = INFINITY;
4637 mutex_init(&ipst->ips_igmp_slowtimeout_lock, NULL, MUTEX_DEFAULT, NULL);
4638 mutex_init(&ipst->ips_mld_slowtimeout_lock, NULL, MUTEX_DEFAULT, NULL);
4639 mutex_init(&ipst->ips_ip_mi_lock, NULL, MUTEX_DEFAULT, NULL);
4640 mutex_init(&ipst->ips_ip_addr_avail_lock, NULL, MUTEX_DEFAULT, NULL);
4641 rw_init(&ipst->ips_ill_g_lock, NULL, RW_DEFAULT, NULL);
4642 rw_init(&ipst->ips_ill_g_usesrc_lock, NULL, RW_DEFAULT, NULL);
4644 ipcl_init(ipst);
4645 ip_ire_init(ipst);
4646 ip6_asp_init(ipst);
4647 ipif_init(ipst);
4648 conn_drain_init(ipst);
4649 ip_mrouter_stack_init(ipst);
4650 dce_stack_init(ipst);
4652 ipst->ips_ip_multirt_log_interval = 1000;
4654 ipst->ips_ill_index = 1;
4656 ipst->ips_saved_ip_forwarding = -1;
4657 ipst->ips_reg_vif_num = ALL_VIFS; /* Index to Register vif */
4660 ipst->ips_propinfo_tbl = (mod_prop_info_t *)kmem_alloc(arrsz, KM_SLEEP);
4661 bcopy(ip_propinfo_tbl, ipst->ips_propinfo_tbl, arrsz);
4663 ipst->ips_ip_mibkp = ip_kstat_init(stackid, ipst);
4664 ipst->ips_icmp_mibkp = icmp_kstat_init(stackid);
4665 ipst->ips_ip_kstat = ip_kstat2_init(stackid, &ipst->ips_ip_statistics);
4666 ipst->ips_ip6_kstat =
4667 ip6_kstat_init(stackid, &ipst->ips_ip6_statistics);
4669 ipst->ips_ip_src_id = 1;
4670 rw_init(&ipst->ips_srcid_lock, NULL, RW_DEFAULT, NULL);
4672 ipst->ips_src_generation = SRC_GENERATION_INITIAL;
4674 ip_net_init(ipst, ns);
4675 ipv4_hook_init(ipst);
4676 ipv6_hook_init(ipst);
4677 arp_hook_init(ipst);
4678 ipmp_init(ipst);
4679 ipobs_init(ipst);
4684 mutex_init(&ipst->ips_capab_taskq_lock, NULL, MUTEX_DEFAULT, NULL);
4685 cv_init(&ipst->ips_capab_taskq_cv, NULL, CV_DEFAULT, NULL);
4686 ipst->ips_capab_taskq_thread = thread_create(NULL, 0,
4687 ill_taskq_dispatch, ipst, 0, &p0, TS_RUN, minclsyspri);
4690 (void) ldi_ident_from_major(major, &ipst->ips_ldi_ident);
4691 return (ipst);
4831 ip_stack_t *ipst = ill->ill_ipst;
4832 netstack_t *ns = ipst->ips_netstack;
4927 ip_stack_t *ipst = ill->ill_ipst;
4928 ipsec_stack_t *ipss = ipst->ips_netstack->netstack_ipsec;
4943 BUMP_MIB(&ipst->ips_icmp_mib, icmpInOverflows);
5020 ip_stack_t *ipst = ill->ill_ipst;
5024 connfp = &ipst->ips_ipcl_proto_fanout_v4[ira->ira_protocol];
5124 ip_stack_t *ipst = ira->ira_ill->ill_ipst;
5125 ipsec_stack_t *ipss = ipst->ips_netstack->netstack_ipsec;
5207 ip_stack_t *ipst = ill->ill_ipst;
5208 ipsec_stack_t *ipss = ipst->ips_netstack->netstack_ipsec;
5282 ip_stack_t *ipst = ill->ill_ipst;
5289 connfp = &ipst->ips_ipcl_udp_fanout[IPCL_UDP_HASH(lport, ipst)];
5345 IP_STAT(ipst, ip_udp_fanmb);
5358 IP_STAT(ipst, ip_udp_fanmb);
5375 connfp = &ipst->ips_ipcl_udp_fanout[IPCL_UDP_HASH(lport, ipst)];
5403 if (ipst->ips_ipcl_proto_fanout_v4[IPPROTO_UDP].connf_head !=
5460 IP_STAT(ipst, ip_udp_fanmb);
5473 IP_STAT(ipst, ip_udp_fanmb);
5637 ip_type_v4(ipaddr_t addr, ip_stack_t *ipst)
5642 ire = ire_ftable_lookup_simple_v4(addr, 0, ipst, NULL);
5659 ip_type_v6(const in6_addr_t *addr, ip_stack_t *ipst)
5664 ire = ire_ftable_lookup_simple_v6(addr, 0, ipst, NULL);
5717 ip_stack_t *ipst = ns->netstack_ip;
5752 if (ip_type_v4(dst, ipst) == IRE_LOCAL) {
5879 ip_stack_t *ipst;
5890 ipst = ns->netstack_ip;
5891 ASSERT(ipst != NULL);
5897 if (ipst->ips_netstack->netstack_stackid != GLOBAL_NETSTACKID)
5904 ill->ill_ipst = ipst;
5915 netstack_rele(ipst->ips_netstack);
5936 mutex_enter(&ipst->ips_ip_mi_lock);
5937 err = mi_open_link(&ipst->ips_ip_g_head, (IDP)q->q_ptr, devp, flag,
5939 mutex_exit(&ipst->ips_ip_mi_lock);
5971 ip_stack_t *ipst;
5993 ipst = ns->netstack_ip;
5994 ASSERT(ipst != NULL);
6000 if (ipst->ips_netstack->netstack_stackid != GLOBAL_NETSTACKID)
6009 connp = ipcl_conn_create(IPCL_IPCCONN, KM_SLEEP, ipst->ips_netstack);
6015 netstack_rele(ipst->ips_netstack);
6130 ip_stack_t *ipst = ns->netstack_ip;
6224 IPPH_REFRELE(connp->conn_policy, ipst->ips_netstack);
6233 ipst->ips_netstack);
6237 ipsec_actvec_from_req(req, &actp, &nact, ipst->ips_netstack);
6312 ip_stack_t *ipst = connp->conn_netstack->netstack_ip;
6393 MATCH_IRE_MASK | MATCH_IRE_TYPE, 0, ipst, NULL);
6397 MATCH_IRE_MASK | MATCH_IRE_TYPE, 0, ipst, NULL);
6428 ip_stack_t *ipst = connp->conn_netstack->netstack_ip;
6523 MATCH_IRE_MASK | MATCH_IRE_TYPE, 0, ipst, NULL);
6527 MATCH_IRE_MASK | MATCH_IRE_TYPE, 0, ipst, NULL);
7038 ip_stack_t *ipst = ill->ill_ipst;
7044 if (ipst->ips_ip_reass_queue_bytes == 0) {
7142 ipst->ips_ip_reass_queue_bytes) {
7145 uint_t, ipst->ips_ip_reass_queue_bytes);
7147 (ipst->ips_ip_reass_queue_bytes < msg_len) ? 0 :
7148 (ipst->ips_ip_reass_queue_bytes - msg_len));
7201 if (ipfb->ipfb_frag_pkts >= MAX_FRAG_PKTS(ipst)) {
7689 ip_stack_t *ipst = ill->ill_ipst;
7716 if (ipst->ips_ip_strict_dst_multihoming)
7720 (MATCH_IRE_TYPE|MATCH_IRE_ILL), 0, ipst, NULL);
7723 if (ipst->ips_ipv6_strict_dst_multihoming)
7727 (MATCH_IRE_TYPE|MATCH_IRE_ILL), 0, ipst, NULL);
8042 ip_stack_t *ipst = ill->ill_ipst;
8044 IP_STAT(ipst, ip_db_ref);
8995 ip_stack_t *ipst = ira->ira_ill->ill_ipst;
9012 if (!ipst->ips_ip_forward_src_routed) {
9021 if (ip_type_v4(dst, ipst) != IRE_LOCAL) {
9041 INADDR_ANY, ALL_ZONES, ipst, &ifaddr, NULL,
9055 if (ip_type_v4(dst, ipst) == IRE_LOCAL) {
9076 INADDR_ANY, ALL_ZONES, ipst, &ifaddr, NULL,
9095 if (ip_type_v4(dst, ipst) != IRE_LOCAL) {
9128 dst, INADDR_ANY, ALL_ZONES, ipst, &ifaddr,
9162 ip_stack_t *ipst = ill->ill_ipst;
9175 timeout = (ill->ill_isv6 ? ipst->ips_ipv6_reassembly_timeout :
9176 ipst->ips_ip_reassembly_timeout);
9195 ip_stack_t *ipst = ill->ill_ipst;
9216 timeo_ms = (ill->ill_isv6 ? ipst->ips_ipv6_reassembly_timeout :
9217 ipst->ips_ip_reassembly_timeout) * SECONDS;
9247 ip_stack_t *ipst = ill->ill_ipst;
9303 INADDR_ANY, ALL_ZONES, ipst, &ifaddr, NULL,
9322 if (ip_type_v4(dst, ipst) != IRE_LOCAL) {
9354 ipha->ipha_dst, INADDR_ANY, ALL_ZONES, ipst,
9397 ip_stack_t *ipst = ira->ira_ill->ill_ipst;
9423 if (ip_type_v4(dst, ipst) != IRE_LOCAL) {
9464 if (ip_type_v4(dst, ipst) == IRE_LOCAL) {
9482 MATCH_IRE_TYPE | MATCH_IRE_SECATTR, 0, ipst,
9608 ip_stack_t *ipst;
9612 ipst = ILLQ_TO_IPST(q);
9614 ipst = CONNQ_TO_IPST(q);
9616 ASSERT(ipst != NULL);
9617 sctps = ipst->ips_netstack->netstack_sctp;
9651 ipst, legacy_req)) == NULL) {
9655 if ((mpctl = ip_snmp_get_mib2_ip6(q, mpctl, ipst,
9660 if ((mpctl = ip_snmp_get_mib2_icmp(q, mpctl, ipst)) == NULL) {
9664 if ((mpctl = ip_snmp_get_mib2_icmp6(q, mpctl, ipst)) == NULL) {
9668 if ((mpctl = ip_snmp_get_mib2_igmp(q, mpctl, ipst)) == NULL) {
9672 if ((mpctl = ip_snmp_get_mib2_multi(q, mpctl, ipst)) == NULL) {
9676 if ((mpctl = ip_snmp_get_mib2_ip_addr(q, mpctl, ipst,
9681 if ((mpctl = ip_snmp_get_mib2_ip6_addr(q, mpctl, ipst,
9686 if ((mpctl = ip_snmp_get_mib2_ip_group_mem(q, mpctl, ipst)) == NULL) {
9690 if ((mpctl = ip_snmp_get_mib2_ip6_group_mem(q, mpctl, ipst)) == NULL) {
9694 if ((mpctl = ip_snmp_get_mib2_ip_group_src(q, mpctl, ipst)) == NULL) {
9698 if ((mpctl = ip_snmp_get_mib2_ip6_group_src(q, mpctl, ipst)) == NULL) {
9702 if ((mpctl = ip_snmp_get_mib2_virt_multi(q, mpctl, ipst)) == NULL) {
9706 if ((mpctl = ip_snmp_get_mib2_multi_rtable(q, mpctl, ipst)) == NULL) {
9710 mpctl = ip_snmp_get_mib2_ip_route_media(q, mpctl, level, ipst);
9714 mpctl = ip_snmp_get_mib2_ip6_route_media(q, mpctl, level, ipst);
9721 if ((mpctl = ip_snmp_get_mib2_ip_dce(q, mpctl, ipst)) == NULL) {
9731 ip_stack_t *ipst, boolean_t legacy_req)
9748 (WE_ARE_FORWARDING(ipst) ? 1 : 2));
9750 (uint32_t)ipst->ips_ip_def_ttl);
9752 ipst->ips_ip_reassembly_timeout);
9828 ip_snmp_get_mib2_ip_traffic_stats(queue_t *q, mblk_t *mpctl, ip_stack_t *ipst,
9848 ipst->ips_ip_mib.ipIfStatsIPVersion = MIB2_INETADDRESSTYPE_ipv4;
9849 ipst->ips_ip_mib.ipIfStatsIfIndex =
9851 SET_MIB(ipst->ips_ip_mib.ipIfStatsForwarding,
9852 (ipst->ips_ip_forwarding ? 1 : 2));
9853 SET_MIB(ipst->ips_ip_mib.ipIfStatsDefaultTTL,
9854 (uint32_t)ipst->ips_ip_def_ttl);
9855 SET_MIB(ipst->ips_ip_mib.ipIfStatsEntrySize,
9857 SET_MIB(ipst->ips_ip_mib.ipIfStatsAddrEntrySize,
9859 SET_MIB(ipst->ips_ip_mib.ipIfStatsRouteEntrySize,
9861 SET_MIB(ipst->ips_ip_mib.ipIfStatsNetToMediaEntrySize,
9863 SET_MIB(ipst->ips_ip_mib.ipIfStatsMemberEntrySize,
9865 SET_MIB(ipst->ips_ip_mib.ipIfStatsGroupSourceEntrySize,
9868 bcopy(&ipst->ips_ip_mib, &global_ip_mib, sizeof (global_ip_mib));
9882 rw_enter(&ipst->ips_ill_g_lock, RW_READER);
9883 ill = ILL_START_WALK_V4(&ctx, ipst);
9888 (ipst->ips_ip_forwarding ? 1 : 2));
9890 (uint32_t)ipst->ips_ip_def_ttl);
9901 rw_exit(&ipst->ips_ill_g_lock);
9912 return (ip_snmp_get_mib2_ip(q, mp2ctl, &global_ip_mib, ipst,
9918 ip_snmp_get_mib2_icmp(queue_t *q, mblk_t *mpctl, ip_stack_t *ipst)
9931 if (!snmp_append_data(mpctl->b_cont, (char *)&ipst->ips_icmp_mib,
9932 (int)sizeof (ipst->ips_icmp_mib))) {
9934 (uint_t)sizeof (ipst->ips_icmp_mib)));
9945 ip_snmp_get_mib2_igmp(queue_t *q, mblk_t *mpctl, ip_stack_t *ipst)
9958 if (!snmp_append_data(mpctl->b_cont, (char *)&ipst->ips_igmpstat,
9959 (int)sizeof (ipst->ips_igmpstat))) {
9961 (uint_t)sizeof (ipst->ips_igmpstat)));
9972 ip_snmp_get_mib2_multi(queue_t *q, mblk_t *mpctl, ip_stack_t *ipst)
9985 if (!ip_mroute_stats(mpctl->b_cont, ipst)) {
9997 ip_snmp_get_mib2_ip_addr(queue_t *q, mblk_t *mpctl, ip_stack_t *ipst,
10026 rw_enter(&ipst->ips_ill_g_lock, RW_READER);
10027 ill = ILL_START_WALK_V4(&ctx, ipst);
10078 rw_exit(&ipst->ips_ill_g_lock);
10089 ip_snmp_get_mib2_ip6_addr(queue_t *q, mblk_t *mpctl, ip_stack_t *ipst,
10118 rw_enter(&ipst->ips_ill_g_lock, RW_READER);
10119 ill = ILL_START_WALK_V6(&ctx, ipst);
10189 rw_exit(&ipst->ips_ill_g_lock);
10200 ip_snmp_get_mib2_ip_group_mem(queue_t *q, mblk_t *mpctl, ip_stack_t *ipst)
10224 rw_enter(&ipst->ips_ill_g_lock, RW_READER);
10225 ill = ILL_START_WALK_V4(&ctx, ipst);
10230 rw_exit(&ipst->ips_ill_g_lock);
10269 rw_enter(&ipst->ips_ill_g_lock, RW_READER);
10271 rw_exit(&ipst->ips_ill_g_lock);
10281 ip_snmp_get_mib2_ip6_group_mem(queue_t *q, mblk_t *mpctl, ip_stack_t *ipst)
10303 rw_enter(&ipst->ips_ill_g_lock, RW_READER);
10304 ill = ILL_START_WALK_V6(&ctx, ipst);
10309 rw_exit(&ipst->ips_ill_g_lock);
10333 rw_enter(&ipst->ips_ill_g_lock, RW_READER);
10335 rw_exit(&ipst->ips_ill_g_lock);
10346 ip_snmp_get_mib2_ip_group_src(queue_t *q, mblk_t *mpctl, ip_stack_t *ipst)
10372 rw_enter(&ipst->ips_ill_g_lock, RW_READER);
10373 ill = ILL_START_WALK_V4(&ctx, ipst);
10378 rw_exit(&ipst->ips_ill_g_lock);
10424 rw_enter(&ipst->ips_ill_g_lock, RW_READER);
10426 rw_exit(&ipst->ips_ill_g_lock);
10436 ip_snmp_get_mib2_ip6_group_src(queue_t *q, mblk_t *mpctl, ip_stack_t *ipst)
10460 rw_enter(&ipst->ips_ill_g_lock, RW_READER);
10461 ill = ILL_START_WALK_V6(&ctx, ipst);
10466 rw_exit(&ipst->ips_ill_g_lock);
10494 rw_enter(&ipst->ips_ill_g_lock, RW_READER);
10496 rw_exit(&ipst->ips_ill_g_lock);
10507 ip_snmp_get_mib2_virt_multi(queue_t *q, mblk_t *mpctl, ip_stack_t *ipst)
10520 if (!ip_mroute_vif(mpctl->b_cont, ipst)) {
10532 ip_snmp_get_mib2_multi_rtable(queue_t *q, mblk_t *mpctl, ip_stack_t *ipst)
10545 if (!ip_mroute_mrt(mpctl->b_cont, ipst)) {
10561 ip_stack_t *ipst)
10603 ire_walk_v4(ip_snmp_get2_v4, &ird, zoneid, ipst);
10615 ncec_walk(NULL, ip_snmp_get2_v4_media, &ird, ipst);
10646 ip_stack_t *ipst)
10688 ire_walk_v6(ip_snmp_get2_v6_route, &ird, zoneid, ipst);
10699 ncec_walk(NULL, ip_snmp_get2_v6_media, &ird, ipst);
10728 ip_snmp_get_mib2_ip6(queue_t *q, mblk_t *mpctl, ip_stack_t *ipst,
10748 ise_size = LEGACY_MIB_SIZE(&ipst->ips_ip6_mib,
10760 ipst->ips_ip6_mib.ipIfStatsIPVersion = MIB2_INETADDRESSTYPE_ipv6;
10761 ipst->ips_ip6_mib.ipIfStatsIfIndex =
10763 SET_MIB(ipst->ips_ip6_mib.ipIfStatsForwarding,
10764 ipst->ips_ipv6_forwarding ? 1 : 2);
10765 SET_MIB(ipst->ips_ip6_mib.ipIfStatsDefaultHopLimit,
10766 ipst->ips_ipv6_def_hops);
10767 SET_MIB(ipst->ips_ip6_mib.ipIfStatsEntrySize,
10769 SET_MIB(ipst->ips_ip6_mib.ipIfStatsAddrEntrySize,
10771 SET_MIB(ipst->ips_ip6_mib.ipIfStatsRouteEntrySize,
10773 SET_MIB(ipst->ips_ip6_mib.ipIfStatsNetToMediaEntrySize,
10775 SET_MIB(ipst->ips_ip6_mib.ipIfStatsMemberEntrySize,
10777 SET_MIB(ipst->ips_ip6_mib.ipIfStatsGroupSourceEntrySize,
10783 SYNC32_MIB(&ipst->ips_ip6_mib, ipIfStatsInReceives,
10785 SYNC32_MIB(&ipst->ips_ip6_mib, ipIfStatsInDelivers,
10787 SYNC32_MIB(&ipst->ips_ip6_mib, ipIfStatsOutRequests,
10789 SYNC32_MIB(&ipst->ips_ip6_mib, ipIfStatsOutForwDatagrams,
10791 SYNC32_MIB(&ipst->ips_ip6_mib, ipIfStatsOutMcastPkts,
10793 SYNC32_MIB(&ipst->ips_ip6_mib, ipIfStatsInMcastPkts,
10797 (char *)&ipst->ips_ip6_mib, (int)ise_size)) {
10808 rw_enter(&ipst->ips_ill_g_lock, RW_READER);
10809 ill = ILL_START_WALK_V6(&ctx, ipst);
10814 ipst->ips_ipv6_forwarding ? 1 : 2);
10846 rw_exit(&ipst->ips_ill_g_lock);
10859 ip_snmp_get_mib2_icmp6(queue_t *q, mblk_t *mpctl, ip_stack_t *ipst)
10877 ipst->ips_icmp6_mib.ipv6IfIcmpIfIndex =
10879 ipst->ips_icmp6_mib.ipv6IfIcmpEntrySize =
10882 (char *)&ipst->ips_icmp6_mib,
10883 (int)sizeof (ipst->ips_icmp6_mib))) {
10885 (uint_t)sizeof (ipst->ips_icmp6_mib)));
10888 rw_enter(&ipst->ips_ill_g_lock, RW_READER);
10889 ill = ILL_START_WALK_V6(&ctx, ipst);
10901 rw_exit(&ipst->ips_ill_g_lock);
10923 ip_stack_t *ipst = ire->ire_ipst;
10991 rw_enter(&ipst->ips_ire_dep_lock, RW_READER);
10998 rw_exit(&ipst->ips_ire_dep_lock);
11045 ip_stack_t *ipst = ire->ire_ipst;
11118 rw_enter(&ipst->ips_ire_dep_lock, RW_READER);
11125 rw_exit(&ipst->ips_ire_dep_lock);
11457 ip_source_routed(ipha_t *ipha, ip_stack_t *ipst)
11486 if (ip_type_v4(dst, ipst) != IRE_LOCAL) {
11636 ip_stack_t *ipst = ill->ill_ipst;
11689 hdr_mp = ip_fragment_copyhdr((uchar_t *)ipha, hdr_len, offset, ipst,
11876 ip_fragment_copyhdr(uchar_t *rptr, int hdr_len, int offset, ip_stack_t *ipst,
11886 mp = allocb_tmpl(ipst->ips_ip_wroff_extra + hdr_len, src);
11889 mp->b_rptr += ipst->ips_ip_wroff_extra;
11892 mp->b_wptr += hdr_len + ipst->ips_ip_wroff_extra;
11938 ip_output_local_options(ipha_t *ipha, ip_stack_t *ipst)
12010 if (ip_type_v4(dst, ipst) != IRE_LOCAL) {
12366 ip_stack_t *ipst = ixa->ixa_ipst;
12376 ipss = ipst->ips_netstack->netstack_ipsec;
12983 ip_stack_t *ipst = ixa->ixa_ipst;
13018 MATCH_IRE_TYPE | MATCH_IRE_SECATTR, 0, ipst,
13120 conn_drain_init(ip_stack_t *ipst)
13125 ipst->ips_conn_drain_list_cnt = conn_drain_nthreads;
13127 if ((ipst->ips_conn_drain_list_cnt == 0) ||
13128 (ipst->ips_conn_drain_list_cnt > CONN_MAXDRAINCNT)) {
13134 ipst->ips_conn_drain_list_cnt = MIN(boot_max_ncpus, 8);
13136 ipst->ips_conn_drain_list_cnt = MIN(max_ncpus, 8);
13139 ipst->ips_idl_tx_list =
13142 itl_tx = &ipst->ips_idl_tx_list[i];
13144 kmem_zalloc(ipst->ips_conn_drain_list_cnt *
13147 for (j = 0; j < ipst->ips_conn_drain_list_cnt; j++) {
13156 conn_drain_fini(ip_stack_t *ipst)
13162 itl_tx = &ipst->ips_idl_tx_list[i];
13164 ipst->ips_conn_drain_list_cnt * sizeof (idl_t));
13166 kmem_free(ipst->ips_idl_tx_list,
13168 ipst->ips_idl_tx_list = NULL;
13183 ip_stack_t *ipst = connp->conn_netstack->netstack_ip;
13201 ASSERT(index < ipst->ips_conn_drain_list_cnt);
13204 if (index == ipst->ips_conn_drain_list_cnt)
13355 ip_stack_t *ipst = ill->ill_ipst;
13365 conn_walk_drain(ipst, &ipst->ips_idl_tx_list[0]);
13386 ip_stack_t *ipst = ill->ill_ipst;
13389 idl_txl = &ipst->ips_idl_tx_list[IDLHASHINDEX(cookie)];
13392 conn_walk_drain(ipst, idl_txl);
13401 conn_walk_drain(ip_stack_t *ipst, idl_tx_list_t *tx_list)
13406 IP_STAT(ipst, ip_conn_walk_drain);
13408 for (i = 0; i < ipst->ips_conn_drain_list_cnt; i++) {
13727 ip_stack_t *ipst = ire->ire_ipst;
13759 match_flags, 0, ipst, NULL);
13766 match_flags, 0, ipst, NULL);
13814 ip_stack_t *ipst;
13822 ipst = ns->netstack_ip;
13823 ASSERT(ipst != NULL);
13825 if (ipst->ips_ip_cgtp_filter_ops != NULL) {
13830 ipst->ips_ip_cgtp_filter_ops = ops;
13832 ill_set_inputfn_all(ipst);
13847 ip_stack_t *ipst;
13852 ipst = ns->netstack_ip;
13853 ASSERT(ipst != NULL);
13855 if (ipst->ips_ip_cgtp_filter) {
13860 if (ipst->ips_ip_cgtp_filter_ops == NULL) {
13864 ipst->ips_ip_cgtp_filter_ops = NULL;
13866 ill_set_inputfn_all(ipst);
13881 ip_stack_t *ipst;
13887 ipst = ns->netstack_ip;
13888 ASSERT(ipst != NULL);
13890 if (ipst->ips_ip_cgtp_filter_ops != NULL)
13991 ip_kstat_init(netstackid_t stackid, ip_stack_t *ipst)
14041 template.forwarding.value.ui32 = WE_ARE_FORWARDING(ipst) ? 1:2;
14042 template.defaultTTL.value.ui32 = (uint32_t)ipst->ips_ip_def_ttl;
14043 template.reasmTimeout.value.ui32 = ipst->ips_ip_reassembly_timeout;
14078 ip_stack_t *ipst;
14089 ipst = ns->netstack_ip;
14090 if (ipst == NULL) {
14096 bcopy(&ipst->ips_ip_mib, &ipmib, sizeof (ipmib));
14097 rw_enter(&ipst->ips_ill_g_lock, RW_READER);
14098 ill = ILL_START_WALK_V4(&ctx, ipst);
14101 rw_exit(&ipst->ips_ill_g_lock);
14115 ipkp->reasmTimeout.value.ui32 = ipst->ips_ip_reassembly_timeout;
14215 ip_stack_t *ipst;
14226 ipst = ns->netstack_ip;
14227 if (ipst == NULL) {
14233 icmpkp->inMsgs.value.ui32 = ipst->ips_icmp_mib.icmpInMsgs;
14234 icmpkp->inErrors.value.ui32 = ipst->ips_icmp_mib.icmpInErrors;
14236 ipst->ips_icmp_mib.icmpInDestUnreachs;
14237 icmpkp->inTimeExcds.value.ui32 = ipst->ips_icmp_mib.icmpInTimeExcds;
14238 icmpkp->inParmProbs.value.ui32 = ipst->ips_icmp_mib.icmpInParmProbs;
14239 icmpkp->inSrcQuenchs.value.ui32 = ipst->ips_icmp_mib.icmpInSrcQuenchs;
14240 icmpkp->inRedirects.value.ui32 = ipst->ips_icmp_mib.icmpInRedirects;
14241 icmpkp->inEchos.value.ui32 = ipst->ips_icmp_mib.icmpInEchos;
14242 icmpkp->inEchoReps.value.ui32 = ipst->ips_icmp_mib.icmpInEchoReps;
14243 icmpkp->inTimestamps.value.ui32 = ipst->ips_icmp_mib.icmpInTimestamps;
14245 ipst->ips_icmp_mib.icmpInTimestampReps;
14246 icmpkp->inAddrMasks.value.ui32 = ipst->ips_icmp_mib.icmpInAddrMasks;
14248 ipst->ips_icmp_mib.icmpInAddrMaskReps;
14249 icmpkp->outMsgs.value.ui32 = ipst->ips_icmp_mib.icmpOutMsgs;
14250 icmpkp->outErrors.value.ui32 = ipst->ips_icmp_mib.icmpOutErrors;
14252 ipst->ips_icmp_mib.icmpOutDestUnreachs;
14253 icmpkp->outTimeExcds.value.ui32 = ipst->ips_icmp_mib.icmpOutTimeExcds;
14254 icmpkp->outParmProbs.value.ui32 = ipst->ips_icmp_mib.icmpOutParmProbs;
14256 ipst->ips_icmp_mib.icmpOutSrcQuenchs;
14257 icmpkp->outRedirects.value.ui32 = ipst->ips_icmp_mib.icmpOutRedirects;
14258 icmpkp->outEchos.value.ui32 = ipst->ips_icmp_mib.icmpOutEchos;
14259 icmpkp->outEchoReps.value.ui32 = ipst->ips_icmp_mib.icmpOutEchoReps;
14261 ipst->ips_icmp_mib.icmpOutTimestamps;
14263 ipst->ips_icmp_mib.icmpOutTimestampReps;
14265 ipst->ips_icmp_mib.icmpOutAddrMasks;
14267 ipst->ips_icmp_mib.icmpOutAddrMaskReps;
14268 icmpkp->inCksumErrs.value.ui32 = ipst->ips_icmp_mib.icmpInCksumErrs;
14269 icmpkp->inUnknowns.value.ui32 = ipst->ips_icmp_mib.icmpInUnknowns;
14270 icmpkp->inFragNeeded.value.ui32 = ipst->ips_icmp_mib.icmpInFragNeeded;
14272 ipst->ips_icmp_mib.icmpOutFragNeeded;
14273 icmpkp->outDrops.value.ui32 = ipst->ips_icmp_mib.icmpOutDrops;
14274 icmpkp->inOverflows.value.ui32 = ipst->ips_icmp_mib.icmpInOverflows;
14276 ipst->ips_icmp_mib.icmpInBadRedirects;
14299 ip_stack_t *ipst = ill->ill_ipst;
14300 ipsec_stack_t *ipss = ipst->ips_netstack->netstack_ipsec;
14301 sctp_stack_t *sctps = ipst->ips_netstack->netstack_sctp;
14308 ira, ipst);
14320 sctp_ootb_input(mp, ira, ipst);
14423 ip_stack_t *ipst = ill->ill_ipst;
14451 if (HOOKS4_INTERESTED_PHYSICAL_OUT(ipst) &&
14455 FW_HOOKS(ipst->ips_ip4_physical_out_event,
14456 ipst->ips_ipv4firewall_physical_out,
14457 NULL, ill, ipha, mp, mp, 0, ipst, error);
14466 if (ipst->ips_ip4_observe.he_interested) {
14474 szone = IP_REAL_ZONEID(szone, ipst);
14482 ill, ipst);
14493 if (HOOKS6_INTERESTED_PHYSICAL_OUT(ipst) &&
14497 FW_HOOKS6(ipst->ips_ip6_physical_out_event,
14498 ipst->ips_ipv6firewall_physical_out,
14499 NULL, ill, ip6h, mp, mp, 0, ipst, error);
14508 if (ipst->ips_ip6_observe.he_interested) {
14510 szone = IP_REAL_ZONEID(szone, ipst);
14513 ill, ipst);
14654 ipst->ips_delay_first_probe_time);
15099 ip_stack_t *ipst = ira->ira_ill->ill_ipst;
15110 NULL, lookup_zoneid, NULL, ire_flags, 0, ipst, NULL);
15112 zoneid = IP_REAL_ZONEID(ire->ire_zoneid, ipst);
15122 ip_stack_t *ipst = ira->ira_ill->ill_ipst;
15136 ill, lookup_zoneid, NULL, ire_flags, 0, ipst, NULL);
15138 zoneid = IP_REAL_ZONEID(ire->ire_zoneid, ipst);
15148 ipobs_init(ip_stack_t *ipst)
15152 id = net_getnetidbynetstackid(ipst->ips_netstack->netstack_stackid);
15154 ipst->ips_ip4_observe_pr = net_protocol_lookup(id, NHF_INET);
15155 VERIFY(ipst->ips_ip4_observe_pr != NULL);
15157 ipst->ips_ip6_observe_pr = net_protocol_lookup(id, NHF_INET6);
15158 VERIFY(ipst->ips_ip6_observe_pr != NULL);
15162 ipobs_fini(ip_stack_t *ipst)
15165 VERIFY(net_protocol_release(ipst->ips_ip4_observe_pr) == 0);
15166 VERIFY(net_protocol_release(ipst->ips_ip6_observe_pr) == 0);
15177 const ill_t *ill, ip_stack_t *ipst)
15210 hdr->hpo_ctx = ipst->ips_netstack;
15214 (void) hook_run(ipst->ips_ipv6_net_data->netd_hooks,
15215 ipst->ips_ipv6observing, (hook_data_t)hdr);
15218 (void) hook_run(ipst->ips_ipv4_net_data->netd_hooks,
15219 ipst->ips_ipv4observing, (hook_data_t)hdr);