linux/net/sctp
Wei Yongjun df10eec476 sctp: Add check for the TSN field of the SHUTDOWN chunk
If SHUTDOWN chunk is received Cumulative TSN Ack beyond the max tsn currently
send, SHUTDOWN chunk be accepted and the association will be broken. New data
is send, but after received SACK it will be drop because TSN in SACK is less
than the Cumulative TSN, data will be retrans again and again even if correct
SACK is received.

The packet sequence is like this:

Endpoint A                       Endpoint B       ULP
(ESTABLISHED)                    (ESTABLISHED)

               <-----------      DATA (TSN=x-1)

               <-----------      DATA (TSN=x)

  SHUTDOWN     ----------->      (Now Cumulative TSN=x+1000)
  (TSN=x+1000)
               <-----------      DATA (TSN=x+1)

  SACK         ----------->      drop the SACK
  (TSN=x+1)
               <-----------      DATA (TSN=x+1)(retrans)

This patch fix this problem by terminating the association and respond to
the sender with an ABORT.

Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-10-23 01:00:21 -07:00
..
associola.c sctp: Rework the tsn map to use generic bitmap. 2008-10-08 14:18:39 -07:00
auth.c
bind_addr.c sctp: try harder to figure out address family when checking wildcards 2008-10-01 11:33:06 -04:00
chunk.c
command.c
debug.c
endpointola.c
input.c sctp: Drop ICMP packet too big message with MTU larger than current PMTU 2008-10-23 00:59:52 -07:00
inqueue.c
ipv6.c ipv6: added net argument to ICMP6_INC_STATS_BH 2008-10-08 11:14:13 -07:00
Kconfig
Makefile
objcnt.c
output.c sctp: reduce memory footprint of sctp_chunk structure 2008-10-01 11:33:06 -04:00
outqueue.c sctp: reduce memory footprint of sctp_chunk structure 2008-10-01 11:33:06 -04:00
primitive.c
proc.c
protocol.c
sm_make_chunk.c sctp: shrink sctp_tsnmap some more by removing gabs array 2008-10-08 14:19:01 -07:00
sm_sideeffect.c sctp: Rework the tsn map to use generic bitmap. 2008-10-08 14:18:39 -07:00
sm_statefuns.c sctp: Add check for the TSN field of the SHUTDOWN chunk 2008-10-23 01:00:21 -07:00
sm_statetable.c sctp: Fix to start T5-shutdown-guard timer while enter SHUTDOWN-SENT state 2008-10-01 11:34:16 -04:00
socket.c sctp: try harder to figure out address family when checking wildcards 2008-10-01 11:33:06 -04:00
ssnmap.c
sysctl.c
transport.c
tsnmap.c sctp: shrink sctp_tsnmap some more by removing gabs array 2008-10-08 14:19:01 -07:00
ulpevent.c sctp: Rework the tsn map to use generic bitmap. 2008-10-08 14:18:39 -07:00
ulpqueue.c