/kernel/linux/linux-5.10/net/sctp/ |
D | ulpqueue.c | 32 static struct sctp_ulpevent *sctp_ulpq_reasm(struct sctp_ulpq *ulpq, 36 static void sctp_ulpq_reasm_drain(struct sctp_ulpq *ulpq); 41 struct sctp_ulpq *sctp_ulpq_init(struct sctp_ulpq *ulpq, in sctp_ulpq_init() argument 44 memset(ulpq, 0, sizeof(struct sctp_ulpq)); in sctp_ulpq_init() 46 ulpq->asoc = asoc; in sctp_ulpq_init() 47 skb_queue_head_init(&ulpq->reasm); in sctp_ulpq_init() 48 skb_queue_head_init(&ulpq->reasm_uo); in sctp_ulpq_init() 49 skb_queue_head_init(&ulpq->lobby); in sctp_ulpq_init() 50 ulpq->pd_mode = 0; in sctp_ulpq_init() 52 return ulpq; in sctp_ulpq_init() [all …]
|
D | stream_interleave.c | 124 static void sctp_intl_store_reasm(struct sctp_ulpq *ulpq, in sctp_intl_store_reasm() argument 130 pos = skb_peek_tail(&ulpq->reasm); in sctp_intl_store_reasm() 132 __skb_queue_tail(&ulpq->reasm, sctp_event2skb(event)); in sctp_intl_store_reasm() 143 __skb_queue_tail(&ulpq->reasm, sctp_event2skb(event)); in sctp_intl_store_reasm() 150 __skb_queue_tail(&ulpq->reasm, sctp_event2skb(event)); in sctp_intl_store_reasm() 155 skb_queue_walk(&ulpq->reasm, pos) { in sctp_intl_store_reasm() 175 __skb_queue_tail(&ulpq->reasm, sctp_event2skb(event)); in sctp_intl_store_reasm() 177 __skb_queue_before(&ulpq->reasm, loc, sctp_event2skb(event)); in sctp_intl_store_reasm() 181 struct sctp_ulpq *ulpq, in sctp_intl_retrieve_partial() argument 192 sin = sctp_stream_in(&ulpq->asoc->stream, event->stream); in sctp_intl_retrieve_partial() [all …]
|
D | sm_sideeffect.c | 623 asoc->stream.si->abort_pd(&asoc->ulpq, GFP_ATOMIC); in sctp_cmd_assoc_failed() 966 asoc->stream.si->enqueue_event(&asoc->ulpq, ev); in sctp_cmd_process_operr() 1040 asoc->stream.si->enqueue_event(&asoc->ulpq, ev); in sctp_cmd_assoc_change() 1050 asoc->stream.si->enqueue_event(&asoc->ulpq, ev); in sctp_cmd_peer_no_auth() 1062 asoc->stream.si->enqueue_event(&asoc->ulpq, ev); in sctp_cmd_adaptation_ind() 1334 asoc->stream.si->report_ftsn(&asoc->ulpq, cmd->obj.u32); in sctp_cmd_interpreter() 1338 asoc->stream.si->handle_ftsn(&asoc->ulpq, in sctp_cmd_interpreter() 1446 __func__, cmd->obj.chunk, &asoc->ulpq); in sctp_cmd_interpreter() 1448 asoc->stream.si->ulpevent_data(&asoc->ulpq, in sctp_cmd_interpreter() 1456 __func__, cmd->obj.ulpevent, &asoc->ulpq); in sctp_cmd_interpreter() [all …]
|
D | chunk.c | 99 asoc->stream.si->enqueue_event(&asoc->ulpq, ev); in sctp_datamsg_destroy() 108 asoc->stream.si->enqueue_event(&asoc->ulpq, ev); in sctp_datamsg_destroy()
|
D | associola.c | 226 if (!sctp_ulpq_init(&asoc->ulpq, asoc)) in sctp_association_init() 342 sctp_ulpq_free(&asoc->ulpq); in sctp_association_free() 1143 sctp_ulpq_flush(&asoc->ulpq); in sctp_assoc_update()
|
D | stream.c | 733 asoc->stream.si->report_ftsn(&asoc->ulpq, max_tsn_seen); in sctp_process_strreset_tsnreq() 1010 asoc->stream.si->report_ftsn(&asoc->ulpq, mtsn); in sctp_process_strreset_resp()
|
D | socket.c | 196 sctp_skb_for_each(skb, &asoc->ulpq.lobby, tmp) in sctp_for_each_rx_skb() 199 sctp_skb_for_each(skb, &asoc->ulpq.reasm, tmp) in sctp_for_each_rx_skb() 202 sctp_skb_for_each(skb, &asoc->ulpq.reasm_uo, tmp) in sctp_for_each_rx_skb() 1516 if (data_was_unread || !skb_queue_empty(&asoc->ulpq.lobby) || in sctp_close() 1517 !skb_queue_empty(&asoc->ulpq.reasm) || in sctp_close() 1518 !skb_queue_empty(&asoc->ulpq.reasm_uo) || in sctp_close() 2241 asoc->stream.si->enqueue_event(&asoc->ulpq, event); in sctp_setsockopt_events() 4270 asoc->stream.si->enqueue_event(&asoc->ulpq, event); in sctp_assoc_ulpevent_type_set() 8899 asoc->stream.si->enqueue_event(&asoc->ulpq, ev); in sctp_wfree() 9320 atomic_set(&sctp_sk(newsk)->pd_mode, assoc->ulpq.pd_mode); in sctp_sock_migrate() [all …]
|
D | auth.c | 1004 asoc->stream.si->enqueue_event(&asoc->ulpq, ev); in sctp_auth_deact_key_id()
|
D | ulpevent.c | 355 asoc->stream.si->enqueue_event(&asoc->ulpq, event); in sctp_ulpevent_notify_peer_addr_change()
|
D | sm_make_chunk.c | 91 asoc->stream.si->enqueue_event(&asoc->ulpq, ev); in sctp_control_release_owner()
|
D | sm_statefuns.c | 6421 if ((datalen >= asoc->rwnd) && (!asoc->ulpq.pd_mode)) { in sctp_eat_data()
|
/kernel/linux/linux-5.10/include/net/sctp/ |
D | stream_interleave.h | 28 int (*ulpevent_data)(struct sctp_ulpq *ulpq, 30 int (*enqueue_event)(struct sctp_ulpq *ulpq, 32 void (*renege_events)(struct sctp_ulpq *ulpq, 34 void (*start_pd)(struct sctp_ulpq *ulpq, gfp_t gfp); 35 void (*abort_pd)(struct sctp_ulpq *ulpq, gfp_t gfp); 39 void (*report_ftsn)(struct sctp_ulpq *ulpq, __u32 ftsn); 40 void (*handle_ftsn)(struct sctp_ulpq *ulpq,
|
D | ulpqueue.h | 40 void sctp_ulpq_flush(struct sctp_ulpq *ulpq); 62 void sctp_ulpq_skip(struct sctp_ulpq *ulpq, __u16 sid, __u16 ssn); 66 __u16 sctp_ulpq_renege_list(struct sctp_ulpq *ulpq,
|
D | structs.h | 1935 struct sctp_ulpq ulpq; member
|