Lines Matching refs:ssa

441 	struct sctp_soassoc *ssa;
459 cr, &ssa);
465 if (ssa != NULL) {
466 SSA_REFRELE(ss, ssa);
484 struct sctp_soassoc *ssa = NULL;
561 ssa = *(struct sctp_soassoc **)DB_BASE(mp);
612 if (ssa == NULL) {
642 ssa->ssa_rcv_queued -= readcnt;
643 count = so->so_rcvbuf - ssa->ssa_rcv_queued;
647 if (readcnt > 0 && ssa->ssa_flowctrld &&
648 ssa->ssa_rcv_queued < so->so_rcvlowat) {
653 ssa->ssa_flowctrld = B_FALSE;
655 sctp_recvd(ssa->ssa_conn, count);
663 SSA_REFRELE(ss, ssa);
928 struct sctp_soassoc *ssa;
988 msg->msg_control, optlen, flags, cr, &ssa);
994 if (ssa == NULL) {
997 * If ssa exists, it means that the handshake
1012 if ((error = sosctp_assoc(ss, aid, &ssa)) != 0) {
1034 ssa->ssa_state |= SS_ISDISCONNECTING;
1035 sctp_recvd(ssa->ssa_conn, so->so_rcvbuf);
1036 error = sctp_disconnect(ssa->ssa_conn);
1043 if (ssa->ssa_state & SS_CANTSENDMORE) {
1044 SSA_REFRELE(ss, ssa);
1048 if (ssa->ssa_error != 0) {
1049 error = ssa->ssa_error;
1050 ssa->ssa_error = 0;
1054 if (!ssa->ssa_snd_qfull)
1098 if ((error = sosctp_uiomove(mctl, count, ssa->ssa_wrsize,
1099 ssa->ssa_wroff, uiop, flags)) != 0) {
1102 error = sctp_sendmsg((struct sctp_s *)ssa->ssa_conn, mctl, 0);
1107 if ((error == EPIPE) && (ssa->ssa_state & SS_CANTSENDMORE)) {
1112 SSA_REFRELE(ss, ssa);
1119 SSA_REFRELE(ss, ssa);
1298 struct sctp_soassoc *ssa = NULL;
1376 if ((error = sosctp_assoc(ss, id, &ssa)) != 0) {
1380 conn = ssa->ssa_conn;
1386 ASSERT(ssa == NULL || (ssa != NULL && conn != NULL));
1392 if (ssa != NULL)
1393 SSA_REFRELE(ss, ssa);
1412 if (sosctp_assoc(ss, aid, &ssa) != 0)
1415 rc = sctp_set_opt((struct sctp_s *)ssa->ssa_conn, level,
1418 SSA_REFRELE(ss, ssa);
1439 struct sctp_soassoc *ssa;
1563 if ((error = sosctp_assoc(ss, intval, &ssa)) != 0) {
1567 conn = ssa->ssa_conn;
1571 ssa = NULL;
1583 if (ssa != NULL) {
1585 SSA_REFRELE(ss, ssa);
1594 if (ssa != NULL) {
1596 SSA_REFRELE(ss, ssa);
1631 if ((error = sosctp_assoc(ss, intval, &ssa)) != 0) {
1635 conn = ssa->ssa_conn;
1639 ssa = NULL;
1647 if (ssa != NULL) {
1649 SSA_REFRELE(ss, ssa);
1658 if (ssa) {
1660 SSA_REFRELE(ss, ssa);
1719 ssa = ((uint32_t)intval >= ss->ss_maxassoc) ? NULL :
1721 if (ssa == NULL) {
1726 SSA_REFHOLD(ssa);
1732 SSA_REFRELE(ss, ssa);
1759 error = sctp_set_opt((struct sctp_s *)ssa->ssa_conn,
1778 sosctp_assoc_move(ss, SOTOSSO(nso), ssa);
1782 ssa->ssa_conn = NULL;
1783 sosctp_assoc_free(ss, ssa);
1802 SSA_REFRELE(ss, ssa);
1822 struct sctp_soassoc *ssa;
1843 if ((ssa = ssi->ssi_assoc) != NULL) {
1844 SSA_REFHOLD(ssa);
1845 sosctp_assoc_isdisconnected(ssa, 0);
1848 sctp_recvd(ssa->ssa_conn, so->so_rcvbuf -
1849 ssa->ssa_rcv_queued);
1850 (void) sctp_disconnect(ssa->ssa_conn);
1853 SSA_REFRELE(ss, ssa);
1871 struct sctp_soassoc *ssa;
1887 if ((ssa = ssi->ssi_assoc) != NULL) {
1888 SSA_REFHOLD(ssa);
1891 sctp_close((struct sctp_s *)ssa->ssa_conn);
1894 ssa->ssa_conn = NULL;
1895 sosctp_assoc_free(ss, ssa);
1941 struct sctp_soassoc *ssa;
1966 ssa = sosctp_assoc_create(lss, KM_NOSLEEP);
1967 if (ssa == NULL) {
1972 lss->ss_assocs[id].ssi_assoc = ssa;
1974 ssa->ssa_id = id;
1975 ssa->ssa_conn = (struct sctp_s *)connind;
1976 ssa->ssa_state = (SS_ISBOUND | SS_ISCONNECTED);
1977 ssa->ssa_wroff = lss->ss_wroff;
1978 ssa->ssa_wrsize = lss->ss_wrsize;
1984 return ((sock_upper_handle_t)ssa);
1992 struct sctp_soassoc *ssa = (struct sctp_soassoc *)handle;
1993 struct sonode *so = &ssa->ssa_sonode->ss_so;
1996 ASSERT(ssa->ssa_conn);
1999 sosctp_assoc_isconnected(ssa);
2007 struct sctp_soassoc *ssa = (struct sctp_soassoc *)handle;
2008 struct sonode *so = &ssa->ssa_sonode->ss_so;
2012 ASSERT(ssa->ssa_conn != NULL);
2015 sosctp_assoc_isdisconnected(ssa, error);
2016 if (ssa->ssa_refcnt == 1) {
2018 ssa->ssa_conn = NULL;
2022 SSA_REFRELE(SOTOSSO(so), ssa);
2036 struct sctp_soassoc *ssa = (struct sctp_soassoc *)handle;
2037 struct sonode *so = &ssa->ssa_sonode->ss_so;
2040 ASSERT(ssa->ssa_conn != NULL);
2044 sosctp_assoc_isdisconnecting(ssa);
2053 struct sctp_soassoc *ssa = (struct sctp_soassoc *)handle;
2054 struct sctp_sonode *ss = ssa->ssa_sonode;
2062 ASSERT(ssa->ssa_type == SOSCTP_ASSOC);
2064 ASSERT(ssa->ssa_conn != NULL); /* closed conn */
2090 sn->sn_assoc_change.sac_assoc_id = ssa->ssa_id;
2093 sn->sn_paddr_change.spc_assoc_id = ssa->ssa_id;
2096 sn->sn_remote_error.sre_assoc_id = ssa->ssa_id;
2099 sn->sn_send_failed.ssf_assoc_id = ssa->ssa_id;
2102 sn->sn_shutdown_event.sse_assoc_id = ssa->ssa_id;
2105 sn->sn_adaptation_event.sai_assoc_id = ssa->ssa_id;
2108 sn->sn_pdapi_event.pdapi_assoc_id = ssa->ssa_id;
2131 sinfo->sinfo_assoc_id = ssa->ssa_id;
2148 SSA_REFHOLD(ssa);
2149 ASSERT((mp->b_rptr - DB_BASE(mp)) >= sizeof (ssa));
2150 *(struct sctp_soassoc **)DB_BASE(mp) = ssa;
2152 ssa->ssa_rcv_queued += len;
2153 space_available = so->so_rcvbuf - ssa->ssa_rcv_queued;
2155 ssa->ssa_flowctrld = B_TRUE;
2168 struct sctp_soassoc *ssa = (struct sctp_soassoc *)handle;
2169 struct sctp_sonode *ss = ssa->ssa_sonode;
2171 ASSERT(ssa->ssa_type == SOSCTP_ASSOC);
2173 ASSERT(ssa->ssa_conn != NULL);
2177 ssa->ssa_snd_qfull = qfull;
2191 struct sctp_soassoc *ssa = (struct sctp_soassoc *)handle;
2194 if (ssa->ssa_type == SOSCTP_ASSOC) {
2195 so = &ssa->ssa_sonode->ss_so;
2201 ssa->ssa_wroff = soppp->sopp_wroff;
2203 ssa->ssa_wrsize = soppp->sopp_maxblk;