All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [Lksctp-developers] [PATCH] sctp: Fix to handle SHUTDOWN in SHUTDOWN-PENDING
@ 2008-10-10 13:13 Vlad Yasevich
  2008-10-11  7:26 ` Wei Yongjun
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Vlad Yasevich @ 2008-10-10 13:13 UTC (permalink / raw)
  To: linux-sctp

Hi Wei

If I can't take that without a patch that processes SHUTDOWN chunks in
SHUTDOWN_RECEIVED state.

The problem is that if B in your example has more data to send,
it will ignore subsequent SHUTDOWN chunks.  If A uses only SHUTDOWNS
to acknowledge data, then this would results us ignoring acks and
retransmitting and eventually ABORTING the association.

-vlad

Wei Yongjun wrote:
> If SHUTDOWN is received in SHUTDOWN-PENDING state, enpoint should enter
> the SHUTDOWN-RECEIVED state and check the Cumulative TSN Ack field of
> the SHUTDOWN chunk (RFC 4960 Section 9.2). If the SHUTDOWN chunk can
> acknowledge all of the send DATA chunks, SHUTDOWN-ACK should be sent.
> 
> But now endpoint just silently discarded the SHUTDOWN chunk.
> 
> SHUTDOWN received in SHUTDOWN-PENDING state can happend when the last
> SACK is lost by network, or the SHUTDOWN chunk can acknowledge all of
> the received DATA chunks. The packet sequence(SACK lost) is like this:
> 
> Endpoint A                       Endpoint B       ULP
> (ESTABLISHED)                    (ESTABLISHED)
> 
>                <-----------      DATA
>                                              <--- shutdown
>                                  Enter SHUTDOWN-PENDING state
>   SACK         ----lost---->
> 
>   SHUTDOWN(*1) ------------>
> 
>                <-----------      SHUTDOWN-ACK
> 
>  (*1) silently discarded now.
> 
> This patch fix to handle SHUTDOWN in SHUTDOWN-PENDING state as the same
> as ESTABLISHED state.
> 
> Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
> ---
>  net/sctp/sm_statetable.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/net/sctp/sm_statetable.c b/net/sctp/sm_statetable.c
> index dd4ddc4..a5b5590 100644
> --- a/net/sctp/sm_statetable.c
> +++ b/net/sctp/sm_statetable.c
> @@ -266,7 +266,7 @@ const sctp_sm_table_entry_t *sctp_sm_lookup_event(sctp_event_t event_type,
>  	/* SCTP_STATE_ESTABLISHED */ \
>  	TYPE_SCTP_FUNC(sctp_sf_do_9_2_shutdown), \
>  	/* SCTP_STATE_SHUTDOWN_PENDING */ \
> -	TYPE_SCTP_FUNC(sctp_sf_discard_chunk), \
> +	TYPE_SCTP_FUNC(sctp_sf_do_9_2_shutdown), \
>  	/* SCTP_STATE_SHUTDOWN_SENT */ \
>  	TYPE_SCTP_FUNC(sctp_sf_do_9_2_shutdown_ack), \
>  	/* SCTP_STATE_SHUTDOWN_RECEIVED */ \


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2008-10-14  5:37 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-10-10 13:13 [Lksctp-developers] [PATCH] sctp: Fix to handle SHUTDOWN in SHUTDOWN-PENDING Vlad Yasevich
2008-10-11  7:26 ` Wei Yongjun
2008-10-13  3:25 ` Wei Yongjun
2008-10-13  4:45 ` [Lksctp-developers] [PATCH] sctp: Fix to handle SHUTDOWN in SHUTDOWN-PENDING state Michael Tüxen
2008-10-14  0:30 ` [Lksctp-developers] [PATCH] sctp: Fix to handle SHUTDOWN in SHUTDOWN-PENDING Wei Yongjun
2008-10-14  5:37 ` [Lksctp-developers] [PATCH] sctp: Fix to handle SHUTDOWN in SHUTDOWN-PENDING state Michael Tüxen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.