Lines Matching refs:asoc
93 struct sctp_association *asoc = NULL; in sctp_datamsg_destroy() local
105 asoc = chunk->asoc; in sctp_datamsg_destroy()
109 error = asoc->outqueue.error; in sctp_datamsg_destroy()
111 sp = sctp_sk(asoc->base.sk); in sctp_datamsg_destroy()
124 ev = sctp_ulpevent_make_send_failed(asoc, chunk, sent, in sctp_datamsg_destroy()
127 asoc->stream.si->enqueue_event(&asoc->ulpq, ev); in sctp_datamsg_destroy()
165 struct sctp_datamsg *sctp_datamsg_from_user(struct sctp_association *asoc, in sctp_datamsg_from_user() argument
184 if (asoc->peer.prsctp_capable && sinfo->sinfo_timetolive && in sctp_datamsg_from_user()
193 max_data = asoc->frag_point; in sctp_datamsg_from_user()
199 if (sctp_auth_send_cid(SCTP_CID_DATA, asoc)) { in sctp_datamsg_from_user()
200 struct sctp_hmac *hmac_desc = sctp_auth_asoc_get_hmac(asoc); in sctp_datamsg_from_user()
207 sinfo->sinfo_ssn != asoc->active_key_id) { in sctp_datamsg_from_user()
208 shkey = sctp_auth_get_shkey(asoc, sinfo->sinfo_ssn); in sctp_datamsg_from_user()
214 shkey = asoc->shkey; in sctp_datamsg_from_user()
227 if (timer_pending(&asoc->timers[SCTP_EVENT_TIMEOUT_SACK]) && in sctp_datamsg_from_user()
228 asoc->outqueue.out_qlen == 0 && in sctp_datamsg_from_user()
229 list_empty(&asoc->outqueue.retransmit) && in sctp_datamsg_from_user()
234 if (asoc->state < SCTP_STATE_COOKIE_ECHOED) in sctp_datamsg_from_user()
241 SCTP_INC_STATS(sock_net(asoc->base.sk), in sctp_datamsg_from_user()
275 chunk = asoc->stream.si->make_datafrag(asoc, sinfo, len, frag, in sctp_datamsg_from_user()
315 if (!chunk->asoc->peer.prsctp_capable) in sctp_chunk_abandoned()
328 SCTP_SO(&chunk->asoc->stream, in sctp_chunk_abandoned()
332 chunk->asoc->abandoned_sent[SCTP_PR_INDEX(TTL)]++; in sctp_chunk_abandoned()
335 chunk->asoc->abandoned_unsent[SCTP_PR_INDEX(TTL)]++; in sctp_chunk_abandoned()
343 SCTP_SO(&chunk->asoc->stream, in sctp_chunk_abandoned()
346 chunk->asoc->abandoned_sent[SCTP_PR_INDEX(RTX)]++; in sctp_chunk_abandoned()