/titanic_50/usr/src/uts/common/inet/sctp/ |
H A D | sctp.c | 77 static void sctp_closei_local(sctp_t *sctp); 79 static void sctp_icmp_error_ipv6(sctp_t *sctp, mblk_t *mp); 129 #define SCTP_CONDEMNED(sctp) \ argument 130 mutex_enter(&(sctp)->sctp_reflock); \ 131 ((sctp)->sctp_condemned = B_TRUE); \ 132 mutex_exit(&(sctp)->sctp_reflock); 135 #define SCTP_LINK(sctp, sctps) \ argument 137 list_insert_tail(&sctps->sctps_g_list, (sctp)); \ 140 #define SCTP_UNLINK(sctp, sctps) \ argument 142 ASSERT((sctp)->sctp_condemned); \ [all …]
|
H A D | sctp_hash.c | 160 sctp_t *sctp; in cl_sctp_walk_list_stack() local 168 sctp = list_head(&sctps->sctps_g_list); in cl_sctp_walk_list_stack() 169 while (sctp != NULL) { in cl_sctp_walk_list_stack() 173 mutex_enter(&sctp->sctp_reflock); in cl_sctp_walk_list_stack() 174 if (sctp->sctp_condemned || sctp->sctp_state <= SCTPS_LISTEN) { in cl_sctp_walk_list_stack() 175 mutex_exit(&sctp->sctp_reflock); in cl_sctp_walk_list_stack() 176 sctp = list_next(&sctps->sctps_g_list, sctp); in cl_sctp_walk_list_stack() 179 sctp->sctp_refcnt++; in cl_sctp_walk_list_stack() 180 mutex_exit(&sctp->sctp_reflock); in cl_sctp_walk_list_stack() 184 RUN_SCTP(sctp); in cl_sctp_walk_list_stack() [all …]
|
H A D | sctp_input.c | 320 sctp_input_add_ancillary(sctp_t *sctp, mblk_t **mp, sctp_data_hdr_t *dcp, in sctp_input_add_ancillary() argument 333 conn_t *connp = sctp->sctp_connp; in sctp_input_add_ancillary() 356 if (sctp->sctp_recvsndrcvinfo) in sctp_input_add_ancillary() 363 ira->ira_ruifindex != sctp->sctp_recvifindex) { in sctp_input_add_ancillary() 371 ipp->ipp_hoplimit != sctp->sctp_recvhops) { in sctp_input_add_ancillary() 379 ipp->ipp_tclass != sctp->sctp_recvtclass) { in sctp_input_add_ancillary() 387 ip_cmpbuf(sctp->sctp_hopopts, sctp->sctp_hopoptslen, in sctp_input_add_ancillary() 391 sctp->sctp_v6label_len; in sctp_input_add_ancillary() 395 if (!ip_allocbuf((void **)&sctp->sctp_hopopts, in sctp_input_add_ancillary() 396 &sctp->sctp_hopoptslen, in sctp_input_add_ancillary() [all …]
|
H A D | sctp_cookie.c | 157 validate_init_params(sctp_t *sctp, sctp_chunk_hdr_t *ch, in validate_init_params() argument 171 conn_t *connp = sctp->sctp_connp; in validate_init_params() 295 *errmp = sctp_make_err(sctp, in validate_init_params() 349 sctp->sctp_connp->conn_ipv6_v6only))) { in validate_init_params() 363 sctp_send_abort(sctp, sctp_init2vtag(ch), SCTP_ERR_MISSING_PARM, in validate_init_params() 375 sctp_send_abort(sctp, sctp_init2vtag(ch), serror, details, in validate_init_params() 385 sctp_initialize_params(sctp_t *sctp, sctp_init_chunk_t *init, in sctp_initialize_params() argument 389 sctp->sctp_ftsn = ntohl(init->sic_inittsn); in sctp_initialize_params() 390 sctp->sctp_lastacked = sctp->sctp_ftsn - 1; in sctp_initialize_params() 393 sctp->sctp_fcsn = sctp->sctp_lastacked; in sctp_initialize_params() [all …]
|
H A D | sctp_timer.c | 100 sctp_timer(sctp_t *sctp, mblk_t *mp, clock_t tim) in sctp_timer() argument 105 ASSERT(sctp != NULL && mp != NULL); in sctp_timer() 131 SCTP_REFHOLD(sctp); in sctp_timer() 157 sctp_timer_alloc(sctp_t *sctp, pfv_t func, int sleep) in sctp_timer_alloc() argument 162 sctp_stack_t *sctps = sctp->sctp_sctps; in sctp_timer_alloc() 179 sctpt->sctpt_sctp = sctp; in sctp_timer_alloc() 199 sctp_t *sctp; in sctp_timer_fire() local 207 sctp = sctpt->sctpt_sctp; in sctp_timer_fire() 208 ASSERT(sctp != NULL); in sctp_timer_fire() 210 mutex_enter(&sctp->sctp_lock); in sctp_timer_fire() [all …]
|
H A D | sctp_opt_data.c | 64 sctp_get_status(sctp_t *sctp, void *ptr) in sctp_get_status() argument 73 conn_t *connp = sctp->sctp_connp; in sctp_get_status() 75 sstat->sstat_state = sctp->sctp_state; in sctp_get_status() 76 sstat->sstat_rwnd = sctp->sctp_frwnd; in sctp_get_status() 79 if (!sctp->sctp_primary) { in sctp_get_status() 83 fp = sctp->sctp_primary; in sctp_get_status() 90 sp->spinfo_mtu = sctp->sctp_hdr_len; in sctp_get_status() 96 sp->spinfo_mtu = sctp->sctp_hdr6_len; in sctp_get_status() 108 sstat->sstat_instrms = sctp->sctp_num_istr; in sctp_get_status() 109 sstat->sstat_outstrms = sctp->sctp_num_ostr; in sctp_get_status() [all …]
|
H A D | sctp_common.c | 63 sctp_set_saddr(sctp_t *sctp, sctp_faddr_t *fp) in sctp_set_saddr() argument 68 fp->sf_saddr = sctp_get_valid_addr(sctp, v6, &addr_set); in sctp_set_saddr() 86 sctp_get_dest(sctp_t *sctp, sctp_faddr_t *fp) in sctp_get_dest() argument 92 sctp_stack_t *sctps = sctp->sctp_sctps; in sctp_get_dest() 93 conn_t *connp = sctp->sctp_connp; in sctp_get_dest() 148 sctp_set_saddr(sctp, fp); in sctp_get_dest() 156 if (!sctp->sctp_loopback) in sctp_get_dest() 157 sctp->sctp_loopback = uinfo.iulp_loopback; in sctp_get_dest() 160 if ((sp = sctp_saddr_lookup(sctp, &laddr, 0)) != NULL && in sctp_get_dest() 177 sctp_set_saddr(sctp, fp); in sctp_get_dest() [all …]
|
H A D | sctp_shutdown.c | 49 sctp_send_shutdown(sctp_t *sctp, int rexmit) in sctp_send_shutdown() argument 56 sctp_stack_t *sctps = sctp->sctp_sctps; in sctp_send_shutdown() 58 if (sctp->sctp_state != SCTPS_ESTABLISHED && in sctp_send_shutdown() 59 sctp->sctp_state != SCTPS_SHUTDOWN_PENDING && in sctp_send_shutdown() 60 sctp->sctp_state != SCTPS_SHUTDOWN_SENT) { in sctp_send_shutdown() 64 if (sctp->sctp_state == SCTPS_ESTABLISHED) { in sctp_send_shutdown() 65 sctp->sctp_state = SCTPS_SHUTDOWN_PENDING; in sctp_send_shutdown() 77 sctp->sctp_out_time = ddi_get_lbolt64(); in sctp_send_shutdown() 83 if (sctp->sctp_xmit_head != NULL || sctp->sctp_xmit_unsent != NULL) { in sctp_send_shutdown() 89 fp = sctp->sctp_current; in sctp_send_shutdown() [all …]
|
H A D | sctp_output.c | 128 sctp_sendmsg(sctp_t *sctp, mblk_t *mp, int flags) in sctp_sendmsg() argument 136 uint16_t sid = sctp->sctp_def_stream; in sctp_sendmsg() 137 uint32_t ppid = sctp->sctp_def_ppid; in sctp_sendmsg() 138 uint32_t context = sctp->sctp_def_context; in sctp_sendmsg() 139 uint16_t msg_flags = sctp->sctp_def_flags; in sctp_sendmsg() 142 uint32_t timetolive = sctp->sctp_def_timetolive; in sctp_sendmsg() 143 conn_t *connp = sctp->sctp_connp; in sctp_sendmsg() 179 fp = sctp_lookup_faddr(sctp, addr); in sctp_sendmsg() 229 RUN_SCTP(sctp); in sctp_sendmsg() 230 sctp_user_abort(sctp, mp); in sctp_sendmsg() [all …]
|
H A D | sctp_init.c | 47 sctp_supaddr_param_len(sctp_t *sctp) in sctp_supaddr_param_len() argument 53 sctp_supaddr_param(sctp_t *sctp, uchar_t *p) in sctp_supaddr_param() argument 57 conn_t *connp = sctp->sctp_connp; in sctp_supaddr_param() 70 if (!sctp->sctp_connp->conn_ipv6_v6only) { in sctp_supaddr_param() 91 sctp_options_param_len(const sctp_t *sctp, int option) in sctp_options_param_len() argument 108 sctp_options_param(const sctp_t *sctp, void *p, int option) in sctp_options_param() argument 126 sctp_adaptation_code_param(sctp_t *sctp, uchar_t *p) in sctp_adaptation_code_param() argument 130 if (!sctp->sctp_send_adaptation) { in sctp_adaptation_code_param() 136 *(uint32_t *)(sph + 1) = htonl(sctp->sctp_tx_adaptation_code); in sctp_adaptation_code_param() 142 sctp_init_mp(sctp_t *sctp, sctp_faddr_t *fp) in sctp_init_mp() argument [all …]
|
H A D | sctp_bind.c | 61 sctp_select_port(sctp_t *sctp, in_port_t *requested_port, int *user_specified) in sctp_select_port() argument 63 sctp_stack_t *sctps = sctp->sctp_sctps; in sctp_select_port() 64 conn_t *connp = sctp->sctp_connp; in sctp_select_port() 125 sctp_listen(sctp_t *sctp) in sctp_listen() argument 128 sctp_stack_t *sctps = sctp->sctp_sctps; in sctp_listen() 129 conn_t *connp = sctp->sctp_connp; in sctp_listen() 131 RUN_SCTP(sctp); in sctp_listen() 136 if (sctp->sctp_state > SCTPS_BOUND || in sctp_listen() 137 (sctp->sctp_connp->conn_state_flags & CONN_CLOSING)) { in sctp_listen() 138 WAKE_SCTP(sctp); in sctp_listen() [all …]
|
H A D | sctp_snmp.c | 56 sctp_t *sctp, *sctp_prev; in sctp_kstat_update() local 94 sctp = list_head(&sctps->sctps_g_list); in sctp_kstat_update() 95 while (sctp != NULL) { in sctp_kstat_update() 96 mutex_enter(&sctp->sctp_reflock); in sctp_kstat_update() 97 if (sctp->sctp_condemned) { in sctp_kstat_update() 98 mutex_exit(&sctp->sctp_reflock); in sctp_kstat_update() 99 sctp = list_next(&sctps->sctps_g_list, sctp); in sctp_kstat_update() 102 sctp->sctp_refcnt++; in sctp_kstat_update() 103 mutex_exit(&sctp->sctp_reflock); in sctp_kstat_update() 107 if (sctp->sctp_connp->conn_zoneid != myzoneid) in sctp_kstat_update() [all …]
|
H A D | sctp_heartbeat.c | 42 sctp_return_heartbeat(sctp_t *sctp, sctp_chunk_hdr_t *hbcp, mblk_t *mp) in sctp_return_heartbeat() argument 52 sctp_stack_t *sctps = sctp->sctp_sctps; in sctp_return_heartbeat() 54 BUMP_LOCAL(sctp->sctp_ibchunks); in sctp_return_heartbeat() 65 fp = sctp_lookup_faddr(sctp, &addr); in sctp_return_heartbeat() 70 (void *)sctp, SCTP_PRINTADDR(addr))); in sctp_return_heartbeat() 75 (void *)sctp, SCTP_PRINTADDR(addr))); in sctp_return_heartbeat() 88 smp = sctp_make_mp(sctp, fp, len); in sctp_return_heartbeat() 104 BUMP_LOCAL(sctp->sctp_obchunks); in sctp_return_heartbeat() 106 sctp_set_iplen(sctp, smp, fp->sf_ixa); in sctp_return_heartbeat() 108 BUMP_LOCAL(sctp->sctp_opkts); in sctp_return_heartbeat() [all …]
|
H A D | sctp_notify.c | 46 sctp_notify(sctp_t *sctp, mblk_t *emp, size_t len) in sctp_notify() argument 53 conn_t *connp = sctp->sctp_connp; in sctp_notify() 73 fp = sctp->sctp_primary; in sctp_notify() 118 rwnd = sctp->sctp_ulp_recv(sctp->sctp_ulpd, mp, msgdsize(mp), 0, in sctp_notify() 120 if (rwnd > sctp->sctp_rwnd) { in sctp_notify() 121 sctp->sctp_rwnd = rwnd; in sctp_notify() 126 sctp_assoc_event(sctp_t *sctp, uint16_t state, uint16_t error, in sctp_assoc_event() argument 133 if (!sctp->sctp_recvassocevnt) { in sctp_assoc_event() 145 sacp->sac_flags = sctp->sctp_prsctp_aware ? SCTP_PRSCTP_CAPABLE : 0; in sctp_assoc_event() 149 sacp->sac_outbound_streams = sctp->sctp_num_ostr; in sctp_assoc_event() [all …]
|
H A D | sctp_addr.c | 95 #define SCTP_IPIF_ZONE_MATCH(sctp, ipif) \ argument 96 IPCL_ZONE_MATCH((sctp)->sctp_connp, (ipif)->sctp_ipif_zoneid) 232 sctp_get_all_ipifs(sctp_t *sctp, int sleep) in sctp_get_all_ipifs() argument 238 sctp_stack_t *sctps = sctp->sctp_sctps; in sctp_get_all_ipifs() 240 conn_t *connp = sctp->sctp_connp; in sctp_get_all_ipifs() 252 !SCTP_IPIF_ZONE_MATCH(sctp, sctp_ipif) || in sctp_get_all_ipifs() 265 error = sctp_ipif_hash_insert(sctp, sctp_ipif, sleep, in sctp_get_all_ipifs() 278 sctp_free_saddrs(sctp); in sctp_get_all_ipifs() 293 sctp_valid_addr_list(sctp_t *sctp, const void *addrs, uint32_t addrcnt, in sctp_valid_addr_list() argument 308 conn_t *connp = sctp->sctp_connp; in sctp_valid_addr_list() [all …]
|
H A D | sctp_asconf.c | 171 sctp_asconf_unrec_parm(sctp_t *sctp, sctp_parm_hdr_t *ph, uint32_t cid, in sctp_asconf_unrec_parm() argument 225 sctp_asconf_ack_unrec_parm(sctp_t *sctp, sctp_parm_hdr_t *ph, in sctp_asconf_ack_unrec_parm() argument 229 sctp_error_event(sctp, (sctp_chunk_hdr_t *)ph, B_TRUE); in sctp_asconf_ack_unrec_parm() 270 sctp_asconf_send(sctp_t *sctp, sctp_asconf_t *asc, sctp_faddr_t *fp, in sctp_asconf_send() argument 280 isv4 = (fp != NULL) ? fp->sf_isv4 : sctp->sctp_current->sf_isv4; in sctp_asconf_send() 320 if (sctp->sctp_cxmit_list == NULL) { in sctp_asconf_send() 321 sctp->sctp_cxmit_list = nmp; in sctp_asconf_send() 323 linkb(sctp->sctp_cxmit_list, nmp); in sctp_asconf_send() 326 BUMP_LOCAL(sctp->sctp_obchunks); in sctp_asconf_send() 329 sctp_wput_asconf(sctp, fp); in sctp_asconf_send() [all …]
|
H A D | sctp_conn.c | 136 sctp_conn_request(sctp_t *sctp, mblk_t *mp, uint_t ifindex, uint_t ip_hdr_len, in sctp_conn_request() argument 148 sctp_listen_cnt_t *slc = sctp->sctp_listen_cnt; in sctp_conn_request() 160 connp = sctp->sctp_connp; in sctp_conn_request() 161 sctps = sctp->sctp_sctps; in sctp_conn_request() 190 if ((eager = sctp_create_eager(sctp)) == NULL) { in sctp_conn_request() 274 err = sctp_accept_comm(sctp, eager, mp, ip_hdr_len, iack); in sctp_conn_request() 331 if ((eager->sctp_ulpd = sctp->sctp_ulp_newconn(sctp->sctp_ulpd, in sctp_conn_request() 349 sctp_connect(sctp_t *sctp, const struct sockaddr *dst, uint32_t addrlen, in sctp_connect() argument 360 int sleep = sctp->sctp_cansleep ? KM_SLEEP : KM_NOSLEEP; in sctp_connect() 363 sctp_stack_t *sctps = sctp->sctp_sctps; in sctp_connect() [all …]
|
H A D | sctp_error.c | 97 sctp_user_abort(sctp_t *sctp, mblk_t *data) in sctp_user_abort() argument 102 sctp_faddr_t *fp = sctp->sctp_current; in sctp_user_abort() 104 sctp_stack_t *sctps = sctp->sctp_sctps; in sctp_user_abort() 111 if (sctp->sctp_state < SCTPS_COOKIE_WAIT) { in sctp_user_abort() 112 sctp_clean_death(sctp, ECONNABORTED); in sctp_user_abort() 116 mp = sctp_make_mp(sctp, fp, 0); in sctp_user_abort() 127 hdrlen = sctp->sctp_hdr_len; in sctp_user_abort() 129 hdrlen = sctp->sctp_hdr6_len; in sctp_user_abort() 153 BUMP_LOCAL(sctp->sctp_opkts); in sctp_user_abort() 154 BUMP_LOCAL(sctp->sctp_obchunks); in sctp_user_abort() [all …]
|
H A D | sctp_impl.h | 144 #define SCTP_FADDR_TIMER_RESTART(sctp, fp, intvl) \ argument 148 sctp_timer((sctp), (fp)->sf_timer_mp, (intvl)); \ 160 #define SCTP_MAX_RTO(sctp, fp) { \ argument 166 (sctp)->sctp_maxrto = \ 167 MAX((sctp)->sctp_maxrto, (fp)->sf_rto); \ 169 sctp, struct sctp_faddr_s, fp); \ 172 #define SCTP_CALC_RXT(sctp, fp, max) \ argument 176 SCTP_MAX_RTO(sctp, fp); \ 186 #define SCTP_REFHOLD(sctp) { \ argument 187 mutex_enter(&(sctp)->sctp_reflock); \ [all …]
|
H A D | sctp_asconf.h | 32 #define SCTP_FADDR_RC_TIMER_RESTART(sctp, fp, intvl) \ argument 34 (fp)->sf_rc_timer_mp = sctp_timer_alloc((sctp), \ 42 sctp_timer((sctp), (fp)->sf_rc_timer_mp, (intvl)); \
|
H A D | sctp_misc.c | 37 sctp_display(sctp_t *sctp, char *sup_buf) in sctp_display() argument 45 if (sctp == NULL) in sctp_display() 48 connp = sctp->sctp_connp; in sctp_display() 51 switch (sctp->sctp_state) { in sctp_display() 83 (void) mi_sprintf(buf1, "SCTPUnkState(%d)", sctp->sctp_state); in sctp_display()
|
/titanic_50/usr/src/cmd/mdb/common/modules/sctp/ |
H A D | sctp.c | 341 sctp_t sctp; in sctp_xmit_list() local 346 if (mdb_vread(&sctp, sizeof (sctp), addr) == -1) in sctp_xmit_list() 350 if (sctp_sent_list(sctp.sctp_xmit_head) < 0) in sctp_xmit_list() 354 if (sctp_unsent_list(sctp.sctp_xmit_unsent) < 0) in sctp_xmit_list() 545 state2str(sctp_t *sctp) in state2str() argument 547 switch (sctp->sctp_state) { in state2str() 563 show_sctp_flags(sctp_t *sctp) in show_sctp_flags() argument 566 sctp->sctp_understands_asconf); in show_sctp_flags() 567 mdb_printf("\tdebug\t\t\t%d\n", sctp->sctp_connp->conn_debug); in show_sctp_flags() 568 mdb_printf("\tcchunk_pend\t\t%d\n", sctp->sctp_cchunk_pend); in show_sctp_flags() [all …]
|
/titanic_50/usr/src/cmd/mdb/common/modules/genunix/ |
H A D | vfs.c | 562 sctp_getsockaddr(sctp_t *sctp, struct sockaddr *addr) in sctp_getsockaddr() argument 574 conn_t *connp = sctp->sctp_connp; in sctp_getsockaddr() 577 if (sctp->sctp_nsaddrs == 0) in sctp_getsockaddr() 583 if (sctp->sctp_state >= SCTPS_ESTABLISHED && !sctp->sctp_loopback) { in sctp_getsockaddr() 588 if (sctp->sctp_saddrs[i].ipif_count == 0) in sctp_getsockaddr() 591 pobj = list_object(&sctp->sctp_saddrs[i].sctp_ipif_list, in sctp_getsockaddr() 592 sctp->sctp_saddrs[i].sctp_ipif_list.list_head.list_next); in sctp_getsockaddr() 599 for (l = 0; l < sctp->sctp_saddrs[i].ipif_count; l++) { in sctp_getsockaddr() 617 if (scanned >= sctp->sctp_nsaddrs) in sctp_getsockaddr() 621 pnode = list_d2l(&sctp->sctp_saddrs[i]. in sctp_getsockaddr() [all …]
|
/titanic_50/usr/src/cmd/mdb/intel/amd64/sctp/ |
H A D | Makefile | 28 MODULE = sctp.so 31 MODSRCS = sctp.c
|
/titanic_50/usr/src/cmd/mdb/sparc/v9/sctp/ |
H A D | Makefile | 28 MODULE = sctp.so 31 MODSRCS = sctp.c
|