Преглед изворни кода

[SCTP]: Fix SACK sequence during shutdown

Currently, when association enters SHUTDOWN state,the
implementation will SACK any DATA first and then transmit
the SHUTDOWN chunk.  This is against the order required by
2960bis spec.  SHUTDOWN must always be first, followed by
SACK. This change forces this order and also enables bundling.

Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: Sridhar Samudrala <sri@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Vlad Yasevich пре 18 година
родитељ
комит
732ba35e75
1 измењених фајлова са 1 додато и 1 уклоњено
  1. 1 1
      net/sctp/sm_sideeffect.c

+ 1 - 1
net/sctp/sm_sideeffect.c

@@ -217,7 +217,7 @@ static int sctp_gen_sack(struct sctp_association *asoc, int force,
 
 
 		asoc->peer.sack_needed = 0;
 		asoc->peer.sack_needed = 0;
 
 
-		error = sctp_outq_tail(&asoc->outqueue, sack);
+		sctp_add_cmd_sf(commands, SCTP_CMD_REPLY, SCTP_CHUNK(sack));
 
 
 		/* Stop the SACK timer.  */
 		/* Stop the SACK timer.  */
 		sctp_add_cmd_sf(commands, SCTP_CMD_TIMER_STOP,
 		sctp_add_cmd_sf(commands, SCTP_CMD_TIMER_STOP,