Lines Matching refs:ipst
377 ipcl_init(ip_stack_t *ipst) in ipcl_init() argument
386 ipst->ips_ipcl_conn_fanout_size = ipcl_conn_hash_size; in ipcl_init()
388 ipst->ips_ipcl_conn_fanout_size = tcp_conn_hash_size; in ipcl_init()
392 ipst->ips_ipcl_conn_fanout_size = in ipcl_init()
395 if (ipst->ips_ipcl_conn_fanout_size > ipcl_conn_hash_maxsize) { in ipcl_init()
396 ipst->ips_ipcl_conn_fanout_size = in ipcl_init()
402 if (sizes[i] >= ipst->ips_ipcl_conn_fanout_size) { in ipcl_init()
406 if ((ipst->ips_ipcl_conn_fanout_size = sizes[i]) == 0) { in ipcl_init()
408 ipst->ips_ipcl_conn_fanout_size = sizes[16]; in ipcl_init()
412 ipst->ips_ipcl_bind_fanout_size = ipcl_bind_fanout_size; in ipcl_init()
413 ipst->ips_ipcl_udp_fanout_size = ipcl_udp_fanout_size; in ipcl_init()
414 ipst->ips_ipcl_raw_fanout_size = ipcl_raw_fanout_size; in ipcl_init()
415 ipst->ips_ipcl_iptun_fanout_size = ipcl_iptun_fanout_size; in ipcl_init()
417 ASSERT(ipst->ips_ipcl_conn_fanout == NULL); in ipcl_init()
419 ipst->ips_ipcl_conn_fanout = kmem_zalloc( in ipcl_init()
420 ipst->ips_ipcl_conn_fanout_size * sizeof (connf_t), KM_SLEEP); in ipcl_init()
422 for (i = 0; i < ipst->ips_ipcl_conn_fanout_size; i++) { in ipcl_init()
423 mutex_init(&ipst->ips_ipcl_conn_fanout[i].connf_lock, NULL, in ipcl_init()
427 ipst->ips_ipcl_bind_fanout = kmem_zalloc( in ipcl_init()
428 ipst->ips_ipcl_bind_fanout_size * sizeof (connf_t), KM_SLEEP); in ipcl_init()
430 for (i = 0; i < ipst->ips_ipcl_bind_fanout_size; i++) { in ipcl_init()
431 mutex_init(&ipst->ips_ipcl_bind_fanout[i].connf_lock, NULL, in ipcl_init()
435 ipst->ips_ipcl_proto_fanout_v4 = kmem_zalloc(IPPROTO_MAX * in ipcl_init()
438 mutex_init(&ipst->ips_ipcl_proto_fanout_v4[i].connf_lock, NULL, in ipcl_init()
442 ipst->ips_ipcl_proto_fanout_v6 = kmem_zalloc(IPPROTO_MAX * in ipcl_init()
445 mutex_init(&ipst->ips_ipcl_proto_fanout_v6[i].connf_lock, NULL, in ipcl_init()
449 ipst->ips_rts_clients = kmem_zalloc(sizeof (connf_t), KM_SLEEP); in ipcl_init()
450 mutex_init(&ipst->ips_rts_clients->connf_lock, in ipcl_init()
453 ipst->ips_ipcl_udp_fanout = kmem_zalloc( in ipcl_init()
454 ipst->ips_ipcl_udp_fanout_size * sizeof (connf_t), KM_SLEEP); in ipcl_init()
455 for (i = 0; i < ipst->ips_ipcl_udp_fanout_size; i++) { in ipcl_init()
456 mutex_init(&ipst->ips_ipcl_udp_fanout[i].connf_lock, NULL, in ipcl_init()
460 ipst->ips_ipcl_iptun_fanout = kmem_zalloc( in ipcl_init()
461 ipst->ips_ipcl_iptun_fanout_size * sizeof (connf_t), KM_SLEEP); in ipcl_init()
462 for (i = 0; i < ipst->ips_ipcl_iptun_fanout_size; i++) { in ipcl_init()
463 mutex_init(&ipst->ips_ipcl_iptun_fanout[i].connf_lock, NULL, in ipcl_init()
467 ipst->ips_ipcl_raw_fanout = kmem_zalloc( in ipcl_init()
468 ipst->ips_ipcl_raw_fanout_size * sizeof (connf_t), KM_SLEEP); in ipcl_init()
469 for (i = 0; i < ipst->ips_ipcl_raw_fanout_size; i++) { in ipcl_init()
470 mutex_init(&ipst->ips_ipcl_raw_fanout[i].connf_lock, NULL, in ipcl_init()
474 ipst->ips_ipcl_globalhash_fanout = kmem_zalloc( in ipcl_init()
477 mutex_init(&ipst->ips_ipcl_globalhash_fanout[i].connf_lock, in ipcl_init()
497 ipcl_destroy(ip_stack_t *ipst) in ipcl_destroy() argument
501 for (i = 0; i < ipst->ips_ipcl_conn_fanout_size; i++) { in ipcl_destroy()
502 ASSERT(ipst->ips_ipcl_conn_fanout[i].connf_head == NULL); in ipcl_destroy()
503 mutex_destroy(&ipst->ips_ipcl_conn_fanout[i].connf_lock); in ipcl_destroy()
505 kmem_free(ipst->ips_ipcl_conn_fanout, ipst->ips_ipcl_conn_fanout_size * in ipcl_destroy()
507 ipst->ips_ipcl_conn_fanout = NULL; in ipcl_destroy()
509 for (i = 0; i < ipst->ips_ipcl_bind_fanout_size; i++) { in ipcl_destroy()
510 ASSERT(ipst->ips_ipcl_bind_fanout[i].connf_head == NULL); in ipcl_destroy()
511 mutex_destroy(&ipst->ips_ipcl_bind_fanout[i].connf_lock); in ipcl_destroy()
513 kmem_free(ipst->ips_ipcl_bind_fanout, ipst->ips_ipcl_bind_fanout_size * in ipcl_destroy()
515 ipst->ips_ipcl_bind_fanout = NULL; in ipcl_destroy()
518 ASSERT(ipst->ips_ipcl_proto_fanout_v4[i].connf_head == NULL); in ipcl_destroy()
519 mutex_destroy(&ipst->ips_ipcl_proto_fanout_v4[i].connf_lock); in ipcl_destroy()
521 kmem_free(ipst->ips_ipcl_proto_fanout_v4, in ipcl_destroy()
523 ipst->ips_ipcl_proto_fanout_v4 = NULL; in ipcl_destroy()
526 ASSERT(ipst->ips_ipcl_proto_fanout_v6[i].connf_head == NULL); in ipcl_destroy()
527 mutex_destroy(&ipst->ips_ipcl_proto_fanout_v6[i].connf_lock); in ipcl_destroy()
529 kmem_free(ipst->ips_ipcl_proto_fanout_v6, in ipcl_destroy()
531 ipst->ips_ipcl_proto_fanout_v6 = NULL; in ipcl_destroy()
533 for (i = 0; i < ipst->ips_ipcl_udp_fanout_size; i++) { in ipcl_destroy()
534 ASSERT(ipst->ips_ipcl_udp_fanout[i].connf_head == NULL); in ipcl_destroy()
535 mutex_destroy(&ipst->ips_ipcl_udp_fanout[i].connf_lock); in ipcl_destroy()
537 kmem_free(ipst->ips_ipcl_udp_fanout, ipst->ips_ipcl_udp_fanout_size * in ipcl_destroy()
539 ipst->ips_ipcl_udp_fanout = NULL; in ipcl_destroy()
541 for (i = 0; i < ipst->ips_ipcl_iptun_fanout_size; i++) { in ipcl_destroy()
542 ASSERT(ipst->ips_ipcl_iptun_fanout[i].connf_head == NULL); in ipcl_destroy()
543 mutex_destroy(&ipst->ips_ipcl_iptun_fanout[i].connf_lock); in ipcl_destroy()
545 kmem_free(ipst->ips_ipcl_iptun_fanout, in ipcl_destroy()
546 ipst->ips_ipcl_iptun_fanout_size * sizeof (connf_t)); in ipcl_destroy()
547 ipst->ips_ipcl_iptun_fanout = NULL; in ipcl_destroy()
549 for (i = 0; i < ipst->ips_ipcl_raw_fanout_size; i++) { in ipcl_destroy()
550 ASSERT(ipst->ips_ipcl_raw_fanout[i].connf_head == NULL); in ipcl_destroy()
551 mutex_destroy(&ipst->ips_ipcl_raw_fanout[i].connf_lock); in ipcl_destroy()
553 kmem_free(ipst->ips_ipcl_raw_fanout, ipst->ips_ipcl_raw_fanout_size * in ipcl_destroy()
555 ipst->ips_ipcl_raw_fanout = NULL; in ipcl_destroy()
558 ASSERT(ipst->ips_ipcl_globalhash_fanout[i].connf_head == NULL); in ipcl_destroy()
559 mutex_destroy(&ipst->ips_ipcl_globalhash_fanout[i].connf_lock); in ipcl_destroy()
561 kmem_free(ipst->ips_ipcl_globalhash_fanout, in ipcl_destroy()
563 ipst->ips_ipcl_globalhash_fanout = NULL; in ipcl_destroy()
565 ASSERT(ipst->ips_rts_clients->connf_head == NULL); in ipcl_destroy()
566 mutex_destroy(&ipst->ips_rts_clients->connf_lock); in ipcl_destroy()
567 kmem_free(ipst->ips_rts_clients, sizeof (connf_t)); in ipcl_destroy()
568 ipst->ips_rts_clients = NULL; in ipcl_destroy()
943 ipcl_iptun_classify_v4(ipaddr_t *src, ipaddr_t *dst, ip_stack_t *ipst) in ipcl_iptun_classify_v4() argument
949 connfp = &ipst->ips_ipcl_iptun_fanout[IPCL_IPTUN_HASH(*dst, *src)]; in ipcl_iptun_classify_v4()
962 connfp = &ipst->ips_ipcl_iptun_fanout[IPCL_IPTUN_HASH(*dst, in ipcl_iptun_classify_v4()
978 ipcl_iptun_classify_v6(in6_addr_t *src, in6_addr_t *dst, ip_stack_t *ipst) in ipcl_iptun_classify_v6() argument
984 connfp = &ipst->ips_ipcl_iptun_fanout[IPCL_IPTUN_HASH_V6(dst, src)]; in ipcl_iptun_classify_v6()
1009 ip_stack_t *ipst = connp->conn_netstack->netstack_ip; in ipcl_sctp_hash_insert() local
1011 connfp = &ipst->ips_ipcl_raw_fanout[IPCL_RAW_HASH(ntohs(lport), ipst)]; in ipcl_sctp_hash_insert()
1048 ipcl_iptun_hash_insert(conn_t *connp, ip_stack_t *ipst) in ipcl_iptun_hash_insert() argument
1055 connfp = &ipst->ips_ipcl_iptun_fanout[IPCL_IPTUN_HASH(laddr, faddr)]; in ipcl_iptun_hash_insert()
1071 ipcl_iptun_hash_insert_v6(conn_t *connp, ip_stack_t *ipst) in ipcl_iptun_hash_insert_v6() argument
1078 connfp = &ipst->ips_ipcl_iptun_fanout[IPCL_IPTUN_HASH_V6(laddr, faddr)]; in ipcl_iptun_hash_insert_v6()
1101 check_exempt_conflict_v4(conn_t *connp, ip_stack_t *ipst) in check_exempt_conflict_v4() argument
1106 connfp = &ipst->ips_ipcl_proto_fanout_v4[connp->conn_proto]; in check_exempt_conflict_v4()
1133 check_exempt_conflict_v6(conn_t *connp, ip_stack_t *ipst) in check_exempt_conflict_v6() argument
1138 connfp = &ipst->ips_ipcl_proto_fanout_v6[connp->conn_proto]; in check_exempt_conflict_v6()
1184 ip_stack_t *ipst = connp->conn_netstack->netstack_ip; in ipcl_bind_insert_v4() local
1189 return (ipcl_iptun_hash_insert(connp, ipst)); in ipcl_bind_insert_v4()
1194 check_exempt_conflict_v4(connp, ipst)) in ipcl_bind_insert_v4()
1199 connfp = &ipst->ips_ipcl_udp_fanout[ in ipcl_bind_insert_v4()
1200 IPCL_UDP_HASH(lport, ipst)]; in ipcl_bind_insert_v4()
1202 connfp = &ipst->ips_ipcl_proto_fanout_v4[protocol]; in ipcl_bind_insert_v4()
1213 ill_set_inputfn_all(ipst); in ipcl_bind_insert_v4()
1219 connfp = &ipst->ips_ipcl_bind_fanout[ in ipcl_bind_insert_v4()
1220 IPCL_BIND_HASH(lport, ipst)]; in ipcl_bind_insert_v4()
1249 ip_stack_t *ipst = connp->conn_netstack->netstack_ip; in ipcl_bind_insert_v6() local
1254 return (ipcl_iptun_hash_insert_v6(connp, ipst)); in ipcl_bind_insert_v6()
1260 check_exempt_conflict_v6(connp, ipst)) in ipcl_bind_insert_v6()
1265 connfp = &ipst->ips_ipcl_udp_fanout[ in ipcl_bind_insert_v6()
1266 IPCL_UDP_HASH(lport, ipst)]; in ipcl_bind_insert_v6()
1268 connfp = &ipst->ips_ipcl_proto_fanout_v6[protocol]; in ipcl_bind_insert_v6()
1283 connfp = &ipst->ips_ipcl_bind_fanout[ in ipcl_bind_insert_v6()
1284 IPCL_BIND_HASH(lport, ipst)]; in ipcl_bind_insert_v6()
1337 ip_stack_t *ipst = connp->conn_netstack->netstack_ip; in ipcl_conn_insert_v4() local
1342 return (ipcl_iptun_hash_insert(connp, ipst)); in ipcl_conn_insert_v4()
1355 connfp = &ipst->ips_ipcl_conn_fanout[ in ipcl_conn_insert_v4()
1357 connp->conn_ports, ipst)]; in ipcl_conn_insert_v4()
1404 check_exempt_conflict_v4(connp, ipst)) in ipcl_conn_insert_v4()
1410 connfp = &ipst->ips_ipcl_udp_fanout[ in ipcl_conn_insert_v4()
1411 IPCL_UDP_HASH(lport, ipst)]; in ipcl_conn_insert_v4()
1413 connfp = &ipst->ips_ipcl_proto_fanout_v4[protocol]; in ipcl_conn_insert_v4()
1435 ip_stack_t *ipst = connp->conn_netstack->netstack_ip; in ipcl_conn_insert_v6() local
1441 return (ipcl_iptun_hash_insert_v6(connp, ipst)); in ipcl_conn_insert_v6()
1455 connfp = &ipst->ips_ipcl_conn_fanout[ in ipcl_conn_insert_v6()
1457 ipst)]; in ipcl_conn_insert_v6()
1493 check_exempt_conflict_v6(connp, ipst)) in ipcl_conn_insert_v6()
1498 connfp = &ipst->ips_ipcl_udp_fanout[ in ipcl_conn_insert_v6()
1499 IPCL_UDP_HASH(lport, ipst)]; in ipcl_conn_insert_v6()
1501 connfp = &ipst->ips_ipcl_proto_fanout_v6[protocol]; in ipcl_conn_insert_v6()
1529 ip_recv_attr_t *ira, ip_stack_t *ipst) in ipcl_classify_v4() argument
1547 &ipst->ips_ipcl_conn_fanout[IPCL_CONN_HASH(ipha->ipha_src, in ipcl_classify_v4()
1548 ports, ipst)]; in ipcl_classify_v4()
1578 &ipst->ips_ipcl_bind_fanout[IPCL_BIND_HASH(lport, ipst)]; in ipcl_classify_v4()
1623 connfp = &ipst->ips_ipcl_udp_fanout[IPCL_UDP_HASH(lport, ipst)]; in ipcl_classify_v4()
1661 &ipha->ipha_dst, ipst)); in ipcl_classify_v4()
1669 ip_recv_attr_t *ira, ip_stack_t *ipst) in ipcl_classify_v6() argument
1690 &ipst->ips_ipcl_conn_fanout[IPCL_CONN_HASH_V6(ip6h->ip6_src, in ipcl_classify_v6()
1691 ports, ipst)]; in ipcl_classify_v6()
1722 &ipst->ips_ipcl_bind_fanout[IPCL_BIND_HASH(lport, ipst)]; in ipcl_classify_v6()
1759 connfp = &ipst->ips_ipcl_udp_fanout[IPCL_UDP_HASH(lport, ipst)]; in ipcl_classify_v6()
1796 &ip6h->ip6_dst, ipst)); in ipcl_classify_v6()
1806 ipcl_classify(mblk_t *mp, ip_recv_attr_t *ira, ip_stack_t *ipst) in ipcl_classify() argument
1810 ira->ira_ip_hdr_length, ira, ipst)); in ipcl_classify()
1813 ira->ira_ip_hdr_length, ira, ipst)); in ipcl_classify()
1822 ipha_t *ipha, ip6_t *ip6h, ip_recv_attr_t *ira, ip_stack_t *ipst) in ipcl_classify_raw() argument
1840 connfp = &ipst->ips_ipcl_raw_fanout[IPCL_RAW_HASH(ntohs(lport), ipst)]; in ipcl_classify_raw()
1891 connfp = &ipst->ips_ipcl_raw_fanout[IPCL_RAW_HASH(0, ipst)]; in ipcl_classify_raw()
2261 ip_stack_t *ipst = connp->conn_netstack->netstack_ip; in ipcl_globalhash_insert() local
2267 ipst->ips_conn_g_index++; in ipcl_globalhash_insert()
2268 index = ipst->ips_conn_g_index & (CONN_G_HASH_SIZE - 1); in ipcl_globalhash_insert()
2277 connfp = &ipst->ips_ipcl_globalhash_fanout[index]; in ipcl_globalhash_insert()
2335 ipcl_walk(pfv_t func, void *arg, ip_stack_t *ipst) in ipcl_walk() argument
2342 mutex_enter(&ipst->ips_ipcl_globalhash_fanout[i].connf_lock); in ipcl_walk()
2344 connp = ipst->ips_ipcl_globalhash_fanout[i].connf_head; in ipcl_walk()
2356 &ipst->ips_ipcl_globalhash_fanout[i].connf_lock); in ipcl_walk()
2361 &ipst->ips_ipcl_globalhash_fanout[i].connf_lock); in ipcl_walk()
2365 mutex_exit(&ipst->ips_ipcl_globalhash_fanout[i].connf_lock); in ipcl_walk()
2379 ip_stack_t *ipst) in ipcl_conn_tcp_lookup_reversed_ipv4() argument
2399 connfp = &ipst->ips_ipcl_conn_fanout[IPCL_CONN_HASH(ipha->ipha_dst, in ipcl_conn_tcp_lookup_reversed_ipv4()
2400 ports, ipst)]; in ipcl_conn_tcp_lookup_reversed_ipv4()
2429 ip_stack_t *ipst) in ipcl_conn_tcp_lookup_reversed_ipv6() argument
2452 connfp = &ipst->ips_ipcl_conn_fanout[IPCL_CONN_HASH_V6(ip6h->ip6_dst, in ipcl_conn_tcp_lookup_reversed_ipv6()
2453 ports, ipst)]; in ipcl_conn_tcp_lookup_reversed_ipv6()
2482 ip_stack_t *ipst) in ipcl_tcp_lookup_reversed_ipv4() argument
2493 connfp = &ipst->ips_ipcl_conn_fanout[IPCL_CONN_HASH(ipha->ipha_dst, in ipcl_tcp_lookup_reversed_ipv4()
2494 ports, ipst)]; in ipcl_tcp_lookup_reversed_ipv4()
2521 uint_t ifindex, ip_stack_t *ipst) in ipcl_tcp_lookup_reversed_ipv6() argument
2533 connfp = &ipst->ips_ipcl_conn_fanout[IPCL_CONN_HASH_V6(ip6h->ip6_dst, in ipcl_tcp_lookup_reversed_ipv6()
2534 ports, ipst)]; in ipcl_tcp_lookup_reversed_ipv6()
2562 ip_stack_t *ipst) in ipcl_lookup_listener_v4() argument
2577 bind_connfp = &ipst->ips_ipcl_bind_fanout[IPCL_BIND_HASH(lport, ipst)]; in ipcl_lookup_listener_v4()
2600 zoneid_t zoneid, ip_stack_t *ipst) in ipcl_lookup_listener_v6() argument
2615 bind_connfp = &ipst->ips_ipcl_bind_fanout[IPCL_BIND_HASH(lport, ipst)]; in ipcl_lookup_listener_v6()