Lines Matching refs:udp
123 static void udp_bind_hash_insert(udp_fanout_t *uf, udp_t *udp);
124 static void udp_bind_hash_remove(udp_t *udp, boolean_t caller_holds_lock);
177 static in_port_t udp_update_next_port(udp_t *udp, in_port_t port,
182 static size_t udp_set_rcv_hiwat(udp_t *udp, size_t size);
425 udp_get_next_priv_port(udp_t *udp) in udp_get_next_priv_port() argument
430 udp_stack_t *us = udp->udp_us; in udp_get_next_priv_port()
442 (nextport = tsol_next_port(crgetzone(udp->udp_connp->conn_cred), in udp_get_next_priv_port()
455 udp_bind_hash_remove(udp_t *udp, boolean_t caller_holds_lock) in udp_bind_hash_remove() argument
459 udp_stack_t *us = udp->udp_us; in udp_bind_hash_remove()
460 conn_t *connp = udp->udp_connp; in udp_bind_hash_remove()
462 if (udp->udp_ptpbhn == NULL) in udp_bind_hash_remove()
476 if (udp->udp_ptpbhn != NULL) { in udp_bind_hash_remove()
477 udpnext = udp->udp_bind_hash; in udp_bind_hash_remove()
479 udpnext->udp_ptpbhn = udp->udp_ptpbhn; in udp_bind_hash_remove()
480 udp->udp_bind_hash = NULL; in udp_bind_hash_remove()
482 *udp->udp_ptpbhn = udpnext; in udp_bind_hash_remove()
483 udp->udp_ptpbhn = NULL; in udp_bind_hash_remove()
491 udp_bind_hash_insert(udp_fanout_t *uf, udp_t *udp) in udp_bind_hash_insert() argument
493 conn_t *connp = udp->udp_connp; in udp_bind_hash_insert()
499 ASSERT(udp->udp_ptpbhn == NULL); in udp_bind_hash_insert()
520 udpnext->udp_ptpbhn = &udp->udp_bind_hash; in udp_bind_hash_insert()
522 udpnext->udp_ptpbhn = &udp->udp_bind_hash; in udp_bind_hash_insert()
525 udp->udp_bind_hash = udpnext; in udp_bind_hash_insert()
526 udp->udp_ptpbhn = udpp; in udp_bind_hash_insert()
527 udpp[0] = udp; in udp_bind_hash_insert()
552 udp_t *udp; in udp_tpi_bind() local
572 udp = connp->conn_udp; in udp_tpi_bind()
580 if (udp->udp_state != TS_UNBND) { in udp_tpi_bind()
582 "udp_bind: bad state, %u", udp->udp_state); in udp_tpi_bind()
812 udp_t *udp = connp->conn_udp; in udp_close_free() local
815 if (udp->udp_recv_ipp.ipp_fields != 0) in udp_close_free()
816 ip_pkt_free(&udp->udp_recv_ipp); in udp_close_free()
824 ASSERT(udp->udp_connp == connp); in udp_close_free()
825 bzero(udp, sizeof (udp_t)); in udp_close_free()
826 udp->udp_connp = connp; in udp_close_free()
832 udp_t *udp; in udp_do_disconnect() local
837 udp = connp->conn_udp; in udp_do_disconnect()
838 us = udp->udp_us; in udp_do_disconnect()
840 if (udp->udp_state != TS_DATA_XFER) { in udp_do_disconnect()
854 udp->udp_state = TS_IDLE; in udp_do_disconnect()
966 udp_t *udp = connp->conn_udp; in udp_icmp_input() local
1062 if (udp->udp_state == TS_DATA_XFER) { in udp_icmp_input()
1072 udp->udp_delayed_error = error; in udp_icmp_input()
1073 *((sin_t *)&udp->udp_delayed_addr) = sin; in udp_icmp_input()
1090 if (udp->udp_state == TS_DATA_XFER) { in udp_icmp_input()
1100 udp->udp_delayed_error = error; in udp_icmp_input()
1101 *((sin6_t *)&udp->udp_delayed_addr) = sin6; in udp_icmp_input()
1133 udp_t *udp = connp->conn_udp; in udp_icmp_error_ipv6() local
1134 udp_stack_t *us = udp->udp_us; in udp_icmp_error_ipv6()
1269 if (udp->udp_state == TS_DATA_XFER) { in udp_icmp_error_ipv6()
1279 udp->udp_delayed_error = error; in udp_icmp_error_ipv6()
1280 *((sin6_t *)&udp->udp_delayed_addr) = sin6; in udp_icmp_error_ipv6()
1306 udp_t *udp = Q_TO_UDP(q); in udp_addr_req() local
1307 conn_t *connp = udp->udp_connp; in udp_addr_req()
1335 if (udp->udp_state != TS_UNBND) { in udp_addr_req()
1345 if (udp->udp_state == TS_DATA_XFER) { in udp_addr_req()
1362 udp_copy_info(struct T_info_ack *tap, udp_t *udp) in udp_copy_info() argument
1364 conn_t *connp = udp->udp_connp; in udp_copy_info()
1371 tap->CURRENT_state = udp->udp_state; in udp_copy_info()
1376 udp_do_capability_ack(udp_t *udp, struct T_capability_ack *tcap, in udp_do_capability_ack() argument
1382 udp_copy_info(&tcap->INFO_ack, udp); in udp_do_capability_ack()
1398 udp_t *udp = Q_TO_UDP(q); in udp_capability_req() local
1408 udp_do_capability_ack(udp, tcap, cap_bits1); in udp_capability_req()
1421 udp_t *udp = Q_TO_UDP(q); in udp_info_req() local
1428 udp_copy_info((struct T_info_ack *)mp->b_rptr, udp); in udp_info_req()
1454 udp_t *udp; in udp_open() local
1498 udp = connp->conn_udp; in udp_open()
1517 ASSERT(connp->conn_udp == udp); in udp_open()
1518 ASSERT(udp->udp_connp == connp); in udp_open()
1521 udp->udp_issocket = B_TRUE; in udp_open()
1532 udp_set_rcv_hiwat(udp, connp->conn_rcvbuf)); in udp_open()
1557 udp_t *udp = Q_TO_UDP(q); in udp_opt_default() local
1558 udp_stack_t *us = udp->udp_us; in udp_opt_default()
1598 udp_t *udp = connp->conn_udp; in udp_opt_get() local
1627 if (!(udp->udp_recv_ipp.ipp_fields & in udp_opt_get()
1633 len = udp->udp_recv_ipp.ipp_ipv4_options_len; in udp_opt_get()
1635 bcopy(udp->udp_recv_ipp.ipp_ipv4_options, ptr, len); in udp_opt_get()
1644 *i1 = udp->udp_nat_t_endpoint; in udp_opt_get()
1649 *i1 = udp->udp_rcvhdr ? 1 : 0; in udp_opt_get()
1683 udp_t *udp = connp->conn_udp; in udp_do_opt_set() local
1684 udp_stack_t *us = udp->udp_us; in udp_do_opt_set()
1775 udp->udp_nat_t_endpoint = onoff; in udp_do_opt_set()
1784 udp->udp_rcvhdr = onoff; in udp_do_opt_set()
1803 udp_t *udp = connp->conn_udp; in udp_opt_set() local
1807 udp_stack_t *us = udp->udp_us; in udp_opt_set()
2027 if (udp->udp_nat_t_endpoint) in udp_opt_set()
2068 udp_t *udp = connp->conn_udp; in udp_prepend_hdr() local
2069 boolean_t insert_spi = udp->udp_nat_t_endpoint; in udp_prepend_hdr()
2172 udp_queue_fallback(udp_t *udp, mblk_t *mp) in udp_queue_fallback() argument
2174 ASSERT(MUTEX_HELD(&udp->udp_recv_lock)); in udp_queue_fallback()
2175 if (IPCL_IS_NONSTR(udp->udp_connp)) { in udp_queue_fallback()
2179 if (udp->udp_fallback_queue_head == NULL) { in udp_queue_fallback()
2180 ASSERT(udp->udp_fallback_queue_tail == NULL); in udp_queue_fallback()
2181 udp->udp_fallback_queue_head = mp; in udp_queue_fallback()
2182 udp->udp_fallback_queue_tail = mp; in udp_queue_fallback()
2184 ASSERT(udp->udp_fallback_queue_tail != NULL); in udp_queue_fallback()
2185 udp->udp_fallback_queue_tail->b_next = mp; in udp_queue_fallback()
2186 udp->udp_fallback_queue_tail = mp; in udp_queue_fallback()
2205 udp_t *udp = connp->conn_udp; in udp_ulp_recv() local
2211 mutex_enter(&udp->udp_recv_lock); in udp_ulp_recv()
2225 mutex_exit(&udp->udp_recv_lock); in udp_ulp_recv()
2228 mp = udp_queue_fallback(udp, mp); in udp_ulp_recv()
2229 mutex_exit(&udp->udp_recv_lock); in udp_ulp_recv()
2234 ASSERT(MUTEX_NOT_HELD(&udp->udp_recv_lock)); in udp_ulp_recv()
2264 udp_t *udp; in udp_input() local
2306 udp = connp->conn_udp; in udp_input()
2307 us = udp->udp_us; in udp_input()
2321 udp_ipv4_options_len = udp->udp_recv_ipp.ipp_ipv4_options_len; in udp_input()
2355 err = ip_find_hdr_v4((ipha_t *)rptr, &udp->udp_recv_ipp, in udp_input()
2520 void_ip_t *, rptr, udp_t *, udp, udpha_t *, udpha); in udp_input()
2523 if (!udp->udp_rcvhdr) { in udp_input()
2618 udp_update_next_port(udp_t *udp, in_port_t port, boolean_t random) in udp_update_next_port() argument
2623 udp_stack_t *us = udp->udp_us; in udp_update_next_port()
2677 (nextport = tsol_next_port(crgetzone(udp->udp_connp->conn_cred), in udp_update_next_port()
2697 udp_t *udp = connp->conn_udp; in udp_output_ancillary() local
2698 udp_stack_t *us = udp->udp_us; in udp_output_ancillary()
2950 void_ip_t *, mp->b_rptr, udp_t *, udp, udpha_t *, in udp_output_ancillary()
3000 udp_t *udp = connp->conn_udp; in udp_output_connected() local
3001 udp_stack_t *us = udp->udp_us; in udp_output_connected()
3104 void_ip_t *, mp->b_rptr, udp_t *, udp, udpha_t *, in udp_output_connected()
3141 udp_t *udp = connp->conn_udp; in udp_output_lastdst() local
3142 udp_stack_t *us = udp->udp_us; in udp_output_lastdst()
3234 void_ip_t *, mp->b_rptr, udp_t *, udp, udpha_t *, in udp_output_lastdst()
3287 udp_t *udp = connp->conn_udp; in udp_prepend_header_template() local
3288 udp_stack_t *us = udp->udp_us; in udp_prepend_header_template()
3289 boolean_t insert_spi = udp->udp_nat_t_endpoint; in udp_prepend_header_template()
3467 udp_t *udp = connp->conn_udp; in udp_wput() local
3471 udp_stack_t *us = udp->udp_us; in udp_wput()
3485 if (!udp->udp_issocket || udp->udp_state != TS_DATA_XFER) { in udp_wput()
3506 ASSERT(udp->udp_issocket); in udp_wput()
3568 if (udp->udp_state == TS_UNBND) { in udp_wput()
3640 if (udp->udp_state == TS_DATA_XFER && in udp_wput()
3703 if (udp->udp_state == TS_DATA_XFER && in udp_wput()
3774 udp_t *udp = connp->conn_udp; in udp_output_newdst() local
3777 udp_stack_t *us = udp->udp_us; in udp_output_newdst()
3805 if (udp->udp_state == TS_DATA_XFER) { in udp_output_newdst()
3932 if (udp->udp_state == TS_DATA_XFER) { in udp_output_newdst()
4043 void_ip_t *, data_mp->b_rptr, udp_t *, udp, udpha_t *, in udp_output_newdst()
4114 udp_t *udp = connp->conn_udp; in udp_wput_cmdblk() local
4127 if (udp->udp_state != TS_DATA_XFER) in udp_wput_cmdblk()
4146 udp_use_pure_tpi(udp_t *udp) in udp_use_pure_tpi() argument
4148 conn_t *connp = udp->udp_connp; in udp_use_pure_tpi()
4151 udp->udp_issocket = B_FALSE; in udp_use_pure_tpi()
4153 UDP_STAT(udp->udp_us, udp_sock_fallback); in udp_use_pure_tpi()
4162 udp_t *udp = connp->conn_udp; in udp_wput_other() local
4273 if (udp->udp_state != TS_DATA_XFER) { in udp_wput_other()
4303 if (!udp->udp_issocket) { in udp_wput_other()
4307 udp_use_pure_tpi(udp); in udp_wput_other()
4342 udp_t *udp = connp->conn_udp; in udp_wput_iocdata() local
4404 if (udp->udp_state != TS_DATA_XFER) { in udp_wput_iocdata()
4559 udp_set_rcv_hiwat(udp_t *udp, size_t size) in udp_set_rcv_hiwat() argument
4561 udp_stack_t *us = udp->udp_us; in udp_set_rcv_hiwat()
4568 udp->udp_rcv_hiwat = size; in udp_set_rcv_hiwat()
4630 udp_t *udp; in udp_do_open() local
4664 udp = connp->conn_udp; in udp_do_open()
4677 ASSERT(connp->conn_udp == udp); in udp_do_open()
4678 ASSERT(udp->udp_connp == connp); in udp_do_open()
4681 udp->udp_state = TS_UNBND; in udp_do_open()
4716 udp->udp_us = us; in udp_do_open()
4739 *((sin6_t *)&udp->udp_delayed_addr) = sin6_null; in udp_do_open()
4751 udp_t *udp = NULL; in udp_create() local
4771 udp = connp->conn_udp; in udp_create()
4772 ASSERT(udp != NULL); in udp_create()
4773 us = udp->udp_us; in udp_create()
4776 udp->udp_issocket = B_TRUE; in udp_create()
4784 (void) udp_set_rcv_hiwat(udp, connp->conn_rcvbuf); in udp_create()
4785 udp->udp_rcv_disply_hiwat = connp->conn_rcvbuf; in udp_create()
4833 udp_t *udp; in udp_do_close() local
4836 udp = connp->conn_udp; in udp_do_close()
4838 if (cl_inet_unbind != NULL && udp->udp_state == TS_IDLE) { in udp_do_close()
4857 udp_bind_hash_remove(udp, B_FALSE); in udp_do_close()
4911 udp_t *udp = connp->conn_udp; in udp_do_bind() local
4927 udp_stack_t *us = udp->udp_us; in udp_do_bind()
5005 port = udp_get_next_priv_port(udp); in udp_do_bind()
5007 port = udp_update_next_port(udp, in udp_do_bind()
5058 if (udp->udp_state != TS_UNBND) { in udp_do_bind()
5065 "udp_bind: bad state, %u", udp->udp_state); in udp_do_bind()
5333 port = udp_get_next_priv_port(udp); in udp_do_bind()
5342 port = udp_update_next_port(udp, in udp_do_bind()
5346 port = udp_update_next_port(udp, port + 1, in udp_do_bind()
5412 udp->udp_state = TS_IDLE; in udp_do_bind()
5413 udp_bind_hash_insert(udpf, udp); in udp_do_bind()
5570 udp->udp_state = TS_UNBND; in udp_do_bind()
5571 udp_bind_hash_remove(udp, B_TRUE); in udp_do_bind()
5653 udp_t *udp = connp->conn_udp; in udp_do_unbind() local
5655 udp_stack_t *us = udp->udp_us; in udp_do_unbind()
5678 if (udp->udp_state == TS_UNBND) { in udp_do_unbind()
5685 udp_bind_hash_remove(udp, B_TRUE); in udp_do_unbind()
5698 udp->udp_state = TS_UNBND; in udp_do_unbind()
5723 udp_t *udp, *udp1; in udp_do_connect() local
5735 udp = connp->conn_udp; in udp_do_connect()
5736 us = udp->udp_us; in udp_do_connect()
5818 if (udp->udp_state == TS_UNBND || udp->udp_state == TS_WCON_CREQ) { in udp_do_connect()
5821 "udp_connect: bad state, %u", udp->udp_state); in udp_do_connect()
5825 ASSERT(connp->conn_lport != 0 && udp->udp_ptpbhn != NULL); in udp_do_connect()
5831 if (udp->udp_state == TS_DATA_XFER) { in udp_do_connect()
5840 udp->udp_state = TS_IDLE; in udp_do_connect()
5910 udp->udp_state = TS_WCON_CREQ; in udp_do_connect()
5933 udp->udp_state = TS_DATA_XFER; in udp_do_connect()
5958 if (udp1 == udp) in udp_do_connect()
5993 udp->udp_state = TS_IDLE; in udp_do_connect()
6018 udp_t *udp = connp->conn_udp; in udp_connect() local
6031 if (udp->udp_state != TS_DATA_XFER) in udp_connect()
6043 if (udp->udp_state == TS_UNBND) { in udp_connect()
6077 if (error != 0 && udp->udp_state == TS_DATA_XFER) { in udp_connect()
6083 udp->udp_state = TS_IDLE; in udp_connect()
6096 udp_t *udp = connp->conn_udp; in udp_send() local
6098 udp_stack_t *us = udp->udp_us; in udp_send()
6109 if (udp->udp_state == TS_UNBND) { in udp_send()
6124 if (udp->udp_state != TS_DATA_XFER) { in udp_send()
6139 if (udp->udp_state == TS_DATA_XFER) { in udp_send()
6217 if (udp->udp_delayed_error != 0) { in udp_send()
6218 sin6_t *sin2 = (sin6_t *)&udp->udp_delayed_addr; in udp_send()
6220 error = udp->udp_delayed_error; in udp_send()
6221 udp->udp_delayed_error = 0; in udp_send()
6280 if (udp->udp_delayed_error != 0) { in udp_send()
6281 sin_t *sin2 = (sin_t *)&udp->udp_delayed_addr; in udp_send()
6283 error = udp->udp_delayed_error; in udp_send()
6284 udp->udp_delayed_error = 0; in udp_send()
6327 udp_t *udp; in udp_fallback() local
6336 udp = connp->conn_udp; in udp_fallback()
6359 stropt->so_hiwat = udp->udp_rcv_disply_hiwat; in udp_fallback()
6368 udp_use_pure_tpi(udp); in udp_fallback()
6373 udp_do_capability_ack(udp, &tca, TC1_INFO); in udp_fallback()
6393 mutex_enter(&udp->udp_recv_lock); in udp_fallback()
6400 mp->b_next = udp->udp_fallback_queue_head; in udp_fallback()
6401 udp->udp_fallback_queue_head = mp; in udp_fallback()
6403 while (udp->udp_fallback_queue_head != NULL) { in udp_fallback()
6404 mp = udp->udp_fallback_queue_head; in udp_fallback()
6405 udp->udp_fallback_queue_head = mp->b_next; in udp_fallback()
6406 mutex_exit(&udp->udp_recv_lock); in udp_fallback()
6409 mutex_enter(&udp->udp_recv_lock); in udp_fallback()
6411 udp->udp_fallback_queue_tail = udp->udp_fallback_queue_head; in udp_fallback()
6419 mutex_exit(&udp->udp_recv_lock); in udp_fallback()
6432 udp_t *udp = connp->conn_udp; in udp_getpeername() local
6439 if (udp->udp_state != TS_DATA_XFER) in udp_getpeername()
6540 udp_t *udp = connp->conn_udp; in udp_clr_flowctrl() local
6542 mutex_enter(&udp->udp_recv_lock); in udp_clr_flowctrl()
6544 mutex_exit(&udp->udp_recv_lock); in udp_clr_flowctrl()