aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/sctp
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2005-07-09 00:47:49 -0400
committerDavid S. Miller <davem@davemloft.net>2005-07-09 00:47:49 -0400
commit79af02c2538d54ff0dcd3f43646f506207f2ee62 (patch)
tree0e77872e7ac3da31dd5d77f260a9ae391896869d /include/net/sctp
parent9c05989bb2264f0fa4fc95f81d2c4e6aa2eaa24d (diff)
[SCTP]: Use struct list_head for chunk lists, not sk_buff_head.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/sctp')
-rw-r--r--include/net/sctp/structs.h20
1 files changed, 7 insertions, 13 deletions
diff --git a/include/net/sctp/structs.h b/include/net/sctp/structs.h
index 47727c7cc628..7435528a1747 100644
--- a/include/net/sctp/structs.h
+++ b/include/net/sctp/structs.h
@@ -582,7 +582,6 @@ void sctp_datamsg_track(struct sctp_chunk *);
582void sctp_chunk_fail(struct sctp_chunk *, int error); 582void sctp_chunk_fail(struct sctp_chunk *, int error);
583int sctp_chunk_abandoned(struct sctp_chunk *); 583int sctp_chunk_abandoned(struct sctp_chunk *);
584 584
585
586/* RFC2960 1.4 Key Terms 585/* RFC2960 1.4 Key Terms
587 * 586 *
588 * o Chunk: A unit of information within an SCTP packet, consisting of 587 * o Chunk: A unit of information within an SCTP packet, consisting of
@@ -592,13 +591,8 @@ int sctp_chunk_abandoned(struct sctp_chunk *);
592 * each chunk as well as a few other header pointers... 591 * each chunk as well as a few other header pointers...
593 */ 592 */
594struct sctp_chunk { 593struct sctp_chunk {
595 /* These first three elements MUST PRECISELY match the first 594 struct list_head list;
596 * three elements of struct sk_buff. This allows us to reuse 595
597 * all the skb_* queue management functions.
598 */
599 struct sctp_chunk *next;
600 struct sctp_chunk *prev;
601 struct sk_buff_head *list;
602 atomic_t refcnt; 596 atomic_t refcnt;
603 597
604 /* This is our link to the per-transport transmitted list. */ 598 /* This is our link to the per-transport transmitted list. */
@@ -717,7 +711,7 @@ struct sctp_packet {
717 __u32 vtag; 711 __u32 vtag;
718 712
719 /* This contains the payload chunks. */ 713 /* This contains the payload chunks. */
720 struct sk_buff_head chunks; 714 struct list_head chunk_list;
721 715
722 /* This is the overhead of the sctp and ip headers. */ 716 /* This is the overhead of the sctp and ip headers. */
723 size_t overhead; 717 size_t overhead;
@@ -974,7 +968,7 @@ struct sctp_inq {
974 /* This is actually a queue of sctp_chunk each 968 /* This is actually a queue of sctp_chunk each
975 * containing a partially decoded packet. 969 * containing a partially decoded packet.
976 */ 970 */
977 struct sk_buff_head in; 971 struct list_head in_chunk_list;
978 /* This is the packet which is currently off the in queue and is 972 /* This is the packet which is currently off the in queue and is
979 * being worked on through the inbound chunk processing. 973 * being worked on through the inbound chunk processing.
980 */ 974 */
@@ -1017,7 +1011,7 @@ struct sctp_outq {
1017 struct sctp_association *asoc; 1011 struct sctp_association *asoc;
1018 1012
1019 /* Data pending that has never been transmitted. */ 1013 /* Data pending that has never been transmitted. */
1020 struct sk_buff_head out; 1014 struct list_head out_chunk_list;
1021 1015
1022 unsigned out_qlen; /* Total length of queued data chunks. */ 1016 unsigned out_qlen; /* Total length of queued data chunks. */
1023 1017
@@ -1025,7 +1019,7 @@ struct sctp_outq {
1025 unsigned error; 1019 unsigned error;
1026 1020
1027 /* These are control chunks we want to send. */ 1021 /* These are control chunks we want to send. */
1028 struct sk_buff_head control; 1022 struct list_head control_chunk_list;
1029 1023
1030 /* These are chunks that have been sacked but are above the 1024 /* These are chunks that have been sacked but are above the
1031 * CTSN, or cumulative tsn ack point. 1025 * CTSN, or cumulative tsn ack point.
@@ -1672,7 +1666,7 @@ struct sctp_association {
1672 * which already resides in sctp_outq. Please move this 1666 * which already resides in sctp_outq. Please move this
1673 * queue and its supporting logic down there. --piggy] 1667 * queue and its supporting logic down there. --piggy]
1674 */ 1668 */
1675 struct sk_buff_head addip_chunks; 1669 struct list_head addip_chunk_list;
1676 1670
1677 /* ADDIP Section 4.1 ASCONF Chunk Procedures 1671 /* ADDIP Section 4.1 ASCONF Chunk Procedures
1678 * 1672 *