Lines Matching refs:asoc

74 	struct sctp_association *asoc = NULL;  in sctp_datamsg_destroy()  local
90 asoc = chunk->asoc; in sctp_datamsg_destroy()
91 error = msg->send_error ?: asoc->outqueue.error; in sctp_datamsg_destroy()
94 if (sctp_ulpevent_type_enabled(asoc->subscribe, in sctp_datamsg_destroy()
96 ev = sctp_ulpevent_make_send_failed(asoc, chunk, sent, in sctp_datamsg_destroy()
99 asoc->stream.si->enqueue_event(&asoc->ulpq, ev); in sctp_datamsg_destroy()
102 if (sctp_ulpevent_type_enabled(asoc->subscribe, in sctp_datamsg_destroy()
104 ev = sctp_ulpevent_make_send_failed_event(asoc, chunk, in sctp_datamsg_destroy()
108 asoc->stream.si->enqueue_event(&asoc->ulpq, ev); in sctp_datamsg_destroy()
146 struct sctp_datamsg *sctp_datamsg_from_user(struct sctp_association *asoc, in sctp_datamsg_from_user() argument
165 if (asoc->peer.prsctp_capable && sinfo->sinfo_timetolive && in sctp_datamsg_from_user()
174 max_data = asoc->frag_point; in sctp_datamsg_from_user()
176 max_data = sctp_min_frag_point(sctp_sk(asoc->base.sk), in sctp_datamsg_from_user()
177 sctp_datachk_len(&asoc->stream)); in sctp_datamsg_from_user()
179 __func__, asoc, max_data); in sctp_datamsg_from_user()
186 if (sctp_auth_send_cid(SCTP_CID_DATA, asoc)) { in sctp_datamsg_from_user()
187 struct sctp_hmac *hmac_desc = sctp_auth_asoc_get_hmac(asoc); in sctp_datamsg_from_user()
194 sinfo->sinfo_ssn != asoc->active_key_id) { in sctp_datamsg_from_user()
195 shkey = sctp_auth_get_shkey(asoc, sinfo->sinfo_ssn); in sctp_datamsg_from_user()
201 shkey = asoc->shkey; in sctp_datamsg_from_user()
214 if (timer_pending(&asoc->timers[SCTP_EVENT_TIMEOUT_SACK]) && in sctp_datamsg_from_user()
215 asoc->outqueue.out_qlen == 0 && in sctp_datamsg_from_user()
216 list_empty(&asoc->outqueue.retransmit) && in sctp_datamsg_from_user()
221 if (asoc->state < SCTP_STATE_COOKIE_ECHOED) in sctp_datamsg_from_user()
228 SCTP_INC_STATS(asoc->base.net, in sctp_datamsg_from_user()
262 chunk = asoc->stream.si->make_datafrag(asoc, sinfo, len, frag, in sctp_datamsg_from_user()
302 if (!chunk->asoc->peer.prsctp_capable) in sctp_chunk_abandoned()
315 SCTP_SO(&chunk->asoc->stream, in sctp_chunk_abandoned()
319 chunk->asoc->abandoned_sent[SCTP_PR_INDEX(TTL)]++; in sctp_chunk_abandoned()
322 chunk->asoc->abandoned_unsent[SCTP_PR_INDEX(TTL)]++; in sctp_chunk_abandoned()
330 SCTP_SO(&chunk->asoc->stream, in sctp_chunk_abandoned()
333 chunk->asoc->abandoned_sent[SCTP_PR_INDEX(RTX)]++; in sctp_chunk_abandoned()