aboutsummaryrefslogtreecommitdiffstats
path: root/net/sctp/outqueue.c
diff options
context:
space:
mode:
authorWei Yongjun <yjwei@cn.fujitsu.com>2009-11-23 15:53:56 -0500
committerVlad Yasevich <vladislav.yasevich@hp.com>2009-11-23 15:53:56 -0500
commitb93d6471748de2ce02cc24774b774deb306a57a8 (patch)
tree98c69d791297d3805d00f9d8ce2fa04dfbd63c9a /net/sctp/outqueue.c
parent6dc7694f9df20f148076d82d00cb3663afb0b000 (diff)
sctp: implement the sender side for SACK-IMMEDIATELY extension
This patch implement the sender side for SACK-IMMEDIATELY extension. Section 4.1. Sender Side Considerations Whenever the sender of a DATA chunk can benefit from the corresponding SACK chunk being sent back without delay, the sender MAY set the I-bit in the DATA chunk header. Reasons for setting the I-bit include o The sender is in the SHUTDOWN-PENDING state. o The application requests to set the I-bit of the last DATA chunk of a user message when providing the user message to the SCTP implementation. Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com> Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Diffstat (limited to 'net/sctp/outqueue.c')
-rw-r--r--net/sctp/outqueue.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/net/sctp/outqueue.c b/net/sctp/outqueue.c
index c9f20e28521b..5732661c87d3 100644
--- a/net/sctp/outqueue.c
+++ b/net/sctp/outqueue.c
@@ -1011,6 +1011,13 @@ static int sctp_outq_flush(struct sctp_outq *q, int rtx_timeout)
1011 break; 1011 break;
1012 1012
1013 case SCTP_XMIT_OK: 1013 case SCTP_XMIT_OK:
1014 /* The sender is in the SHUTDOWN-PENDING state,
1015 * The sender MAY set the I-bit in the DATA
1016 * chunk header.
1017 */
1018 if (asoc->state == SCTP_STATE_SHUTDOWN_PENDING)
1019 chunk->chunk_hdr->flags |= SCTP_DATA_SACK_IMM;
1020
1014 break; 1021 break;
1015 1022
1016 default: 1023 default: