aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/sctp/structs.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/net/sctp/structs.h')
-rw-r--r--include/net/sctp/structs.h15
1 files changed, 12 insertions, 3 deletions
diff --git a/include/net/sctp/structs.h b/include/net/sctp/structs.h
index c48f7999fe9b..3c22a30fd71b 100644
--- a/include/net/sctp/structs.h
+++ b/include/net/sctp/structs.h
@@ -84,7 +84,6 @@ struct sctp_ulpq;
84struct sctp_ep_common; 84struct sctp_ep_common;
85struct crypto_shash; 85struct crypto_shash;
86struct sctp_stream; 86struct sctp_stream;
87struct sctp_stream_out;
88 87
89 88
90#include <net/sctp/tsnmap.h> 89#include <net/sctp/tsnmap.h>
@@ -531,8 +530,12 @@ struct sctp_chunk {
531 /* How many times this chunk have been sent, for prsctp RTX policy */ 530 /* How many times this chunk have been sent, for prsctp RTX policy */
532 int sent_count; 531 int sent_count;
533 532
534 /* This is our link to the per-transport transmitted list. */ 533 union {
535 struct list_head transmitted_list; 534 /* This is our link to the per-transport transmitted list. */
535 struct list_head transmitted_list;
536 /* List in specific stream outq */
537 struct list_head stream_list;
538 };
536 539
537 /* This field is used by chunks that hold fragmented data. 540 /* This field is used by chunks that hold fragmented data.
538 * For the first fragment this is the list that holds the rest of 541 * For the first fragment this is the list that holds the rest of
@@ -1019,6 +1022,9 @@ struct sctp_outq {
1019 /* Data pending that has never been transmitted. */ 1022 /* Data pending that has never been transmitted. */
1020 struct list_head out_chunk_list; 1023 struct list_head out_chunk_list;
1021 1024
1025 /* Stream scheduler being used */
1026 struct sctp_sched_ops *sched;
1027
1022 unsigned int out_qlen; /* Total length of queued data chunks. */ 1028 unsigned int out_qlen; /* Total length of queued data chunks. */
1023 1029
1024 /* Error of send failed, may used in SCTP_SEND_FAILED event. */ 1030 /* Error of send failed, may used in SCTP_SEND_FAILED event. */
@@ -1325,6 +1331,7 @@ struct sctp_inithdr_host {
1325struct sctp_stream_out_ext { 1331struct sctp_stream_out_ext {
1326 __u64 abandoned_unsent[SCTP_PR_INDEX(MAX) + 1]; 1332 __u64 abandoned_unsent[SCTP_PR_INDEX(MAX) + 1];
1327 __u64 abandoned_sent[SCTP_PR_INDEX(MAX) + 1]; 1333 __u64 abandoned_sent[SCTP_PR_INDEX(MAX) + 1];
1334 struct list_head outq; /* chunks enqueued by this stream */
1328}; 1335};
1329 1336
1330struct sctp_stream_out { 1337struct sctp_stream_out {
@@ -1342,6 +1349,8 @@ struct sctp_stream {
1342 struct sctp_stream_in *in; 1349 struct sctp_stream_in *in;
1343 __u16 outcnt; 1350 __u16 outcnt;
1344 __u16 incnt; 1351 __u16 incnt;
1352 /* Current stream being sent, if any */
1353 struct sctp_stream_out *out_curr;
1345}; 1354};
1346 1355
1347#define SCTP_STREAM_CLOSED 0x00 1356#define SCTP_STREAM_CLOSED 0x00