Lines Matching defs:sctp

40 #include <netinet/sctp.h>
144 #define SCTP_FADDR_TIMER_RESTART(sctp, fp, intvl) \
148 sctp_timer((sctp), (fp)->sf_timer_mp, (intvl)); \
160 #define SCTP_MAX_RTO(sctp, fp) { \
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) \
176 SCTP_MAX_RTO(sctp, fp); \
180 #define SCTP_MAX_COMBINED_HEADER_LENGTH (60 + 12) /* Maxed out ip + sctp */
186 #define SCTP_REFHOLD(sctp) { \
187 mutex_enter(&(sctp)->sctp_reflock); \
188 (sctp)->sctp_refcnt++; \
189 DTRACE_PROBE1(sctp_refhold, sctp_t, sctp); \
190 ASSERT((sctp)->sctp_refcnt != 0); \
191 mutex_exit(&(sctp)->sctp_reflock); \
194 #define SCTP_REFRELE(sctp) { \
195 mutex_enter(&(sctp)->sctp_reflock); \
196 ASSERT((sctp)->sctp_refcnt != 0); \
197 if (--(sctp)->sctp_refcnt == 0) { \
198 DTRACE_PROBE1(sctp_refrele, sctp_t, sctp); \
199 mutex_exit(&(sctp)->sctp_reflock); \
200 CONN_DEC_REF((sctp)->sctp_connp); \
202 DTRACE_PROBE1(sctp_refrele, sctp_t, sctp); \
203 mutex_exit(&(sctp)->sctp_reflock); \
248 #define SCTP_CHUNK_SENT(sctp, mp, sdc, fp, chunkdata, meta) { \
253 (sdc)->sdh_tsn = htonl((sctp)->sctp_ltsn++); \
257 BUMP_LOCAL((sctp)->sctp_oudchunks); \
259 BUMP_LOCAL((sctp)->sctp_odchunks); \
262 (sctp)->sctp_ostrcntrs[mhdr->smh_sid]++); \
266 DTRACE_PROBE3(sctp__chunk__sent1, sctp_t *, sctp, \
268 (sctp)->sctp_unacked += (chunkdata); \
269 (sctp)->sctp_unsent -= (chunkdata); \
270 (sctp)->sctp_frwnd -= (chunkdata); \
273 (sctp)->sctp_unacked += (chunkdata); \
280 DTRACE_PROBE3(sctp__chunk__sent2, sctp_t *, sctp, \
285 BUMP_LOCAL(sctp->sctp_rxtchunks); \
286 BUMP_LOCAL((sctp)->sctp_T3expire); \
302 #define SCTP_CHUNK_REXMIT(sctp, mp) { \
303 DTRACE_PROBE2(sctp__chunk__rexmit, sctp_t *, sctp, mblk_t *, \
313 #define SCTP_CHUNK_CLEAR_ACKED(sctp, mp) { \
314 DTRACE_PROBE2(sctp__chunk__clracked, sctp_t *, sctp, mblk_t *, \
344 #define SCTP_MSG_TO_BE_ABANDONED(meta, mhdr, sctp) \
346 ((sctp)->sctp_prsctp_aware && ((mhdr)->smh_flags & MSG_PR_SCTP))) && \
404 #define SCTP_DECR_LISTEN_CNT(sctp) \
406 ASSERT((sctp)->sctp_listen_cnt->slc_cnt > 0); \
407 if (atomic_dec_32_nv(&(sctp)->sctp_listen_cnt->slc_cnt) == 0) \
408 kmem_free((sctp)->sctp_listen_cnt, sizeof (sctp_listen_cnt_t));\
409 (sctp)->sctp_listen_cnt = NULL; \
421 #define SCTP_ASSOC_EST(sctps, sctp) \
423 (sctp)->sctp_state = SCTPS_ESTABLISHED; \
424 (sctp)->sctp_assoc_start_time = (uint32_t)LBOLT_FASTPATH64; \
456 #define SCTP_IS_DETACHED(sctp) ((sctp)->sctp_detached)
477 struct sctp_s *sctp;
643 /* Global list of sctp */
747 uchar_t *sctp_iphc; /* v4 sctp/ip hdr template buffer */
748 uchar_t *sctp_iphc6; /* v6 sctp/ip hdr template buffer */
762 sctp_hdr_t *sctp_sctph; /* sctp header in combined v4 hdr */
763 sctp_hdr_t *sctp_sctph6; /* sctp header in combined v6 hdr */
794 sctp_condemned : 1, /* this sctp is about to disappear */
961 #define SCTP_TXQ_LEN(sctp) ((sctp)->sctp_unsent + (sctp)->sctp_unacked)
962 #define SCTP_TXQ_UPDATE(sctp) \
963 if ((sctp)->sctp_txq_full && SCTP_TXQ_LEN(sctp) <= \
964 (sctp)->sctp_connp->conn_sndlowat) { \
965 (sctp)->sctp_txq_full = 0; \
966 (sctp)->sctp_ulp_txq_full((sctp)->sctp_ulpd, \
1153 extern void sctp_timer_call(sctp_t *sctp, mblk_t *);
1158 extern void sctp_update_dce(sctp_t *sctp);
1184 #define RUN_SCTP(sctp) \
1186 mutex_enter(&(sctp)->sctp_lock); \
1187 while ((sctp)->sctp_running) \
1188 cv_wait(&(sctp)->sctp_cv, &(sctp)->sctp_lock); \
1189 (sctp)->sctp_running = B_TRUE; \
1190 mutex_exit(&(sctp)->sctp_lock); \
1194 #define WAKE_SCTP(sctp) \
1196 mutex_enter(&(sctp)->sctp_lock); \
1197 if ((sctp)->sctp_timer_mp != NULL) \
1198 sctp_process_timer(sctp); \
1199 (sctp)->sctp_running = B_FALSE; \
1200 cv_broadcast(&(sctp)->sctp_cv); \
1201 mutex_exit(&(sctp)->sctp_lock); \