Commit 38ee8fb6 authored by Marcelo Ricardo Leitner's avatar Marcelo Ricardo Leitner Committed by David S. Miller

sctp: convert sack_needed and sack_generation to bits

They don't need to be any bigger than that and with this we start a new
bitfield for tracking association runtime stuff, like zero window
situation.
Signed-off-by: default avatarMarcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Acked-by: default avatarVlad Yasevich <vyasevich@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 45f6fad8
...@@ -775,10 +775,10 @@ struct sctp_transport { ...@@ -775,10 +775,10 @@ struct sctp_transport {
hb_sent:1, hb_sent:1,
/* Is the Path MTU update pending on this tranport */ /* Is the Path MTU update pending on this tranport */
pmtu_pending:1; pmtu_pending:1,
/* Has this transport moved the ctsn since we last sacked */ /* Has this transport moved the ctsn since we last sacked */
__u32 sack_generation; sack_generation:1;
u32 dst_cookie; u32 dst_cookie;
struct flowi fl; struct flowi fl;
...@@ -1482,19 +1482,19 @@ struct sctp_association { ...@@ -1482,19 +1482,19 @@ struct sctp_association {
prsctp_capable:1, /* Can peer do PR-SCTP? */ prsctp_capable:1, /* Can peer do PR-SCTP? */
auth_capable:1; /* Is peer doing SCTP-AUTH? */ auth_capable:1; /* Is peer doing SCTP-AUTH? */
/* Ack State : This flag indicates if the next received /* sack_needed : This flag indicates if the next received
* : packet is to be responded to with a * : packet is to be responded to with a
* : SACK. This is initializedto 0. When a packet * : SACK. This is initialized to 0. When a packet
* : is received it is incremented. If this value * : is received sack_cnt is incremented. If this value
* : reaches 2 or more, a SACK is sent and the * : reaches 2 or more, a SACK is sent and the
* : value is reset to 0. Note: This is used only * : value is reset to 0. Note: This is used only
* : when no DATA chunks are received out of * : when no DATA chunks are received out of
* : order. When DATA chunks are out of order, * : order. When DATA chunks are out of order,
* : SACK's are not delayed (see Section 6). * : SACK's are not delayed (see Section 6).
*/ */
__u8 sack_needed; /* Do we need to sack the peer? */ __u8 sack_needed:1, /* Do we need to sack the peer? */
sack_generation:1;
__u32 sack_cnt; __u32 sack_cnt;
__u32 sack_generation;
__u32 adaptation_ind; /* Adaptation Code point. */ __u32 adaptation_ind; /* Adaptation Code point. */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment