diff options
author | David S. Miller <davem@davemloft.net> | 2005-07-09 00:47:49 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2005-07-09 00:47:49 -0400 |
commit | 79af02c2538d54ff0dcd3f43646f506207f2ee62 (patch) | |
tree | 0e77872e7ac3da31dd5d77f260a9ae391896869d /include/net/sctp | |
parent | 9c05989bb2264f0fa4fc95f81d2c4e6aa2eaa24d (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.h | 20 |
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 *); | |||
582 | void sctp_chunk_fail(struct sctp_chunk *, int error); | 582 | void sctp_chunk_fail(struct sctp_chunk *, int error); |
583 | int sctp_chunk_abandoned(struct sctp_chunk *); | 583 | int 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 | */ |
594 | struct sctp_chunk { | 593 | struct 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 | * |