Re: [PATCH] net: sctp: set chunk->tsn_gap_acked at the end of cycle

From: Vlad Yasevich
Date: Sat Nov 23 2013 - 14:38:14 EST


On 11/23/2013 06:14 AM, Chang wrote:
> Hi,
> Could you please why a **reneged** newly acked TSN doesn't qualify the
> highest_new_tsn? What's the wrongs of doing that?
>
> I've been thinking a few scenarios, but I couldn't figure out what's
> wrong with that.
>

The spec is a bit conflicting on this topic. Here is what it says

Section 7.2.4
Miss indications SHOULD follow the HTNA (Highest TSN Newly
Acknowledged) algorithm. For each incoming SACK, miss indications
are incremented only for missing TSNs prior to the highest TSN newly
acknowledged in the SACK. A newly acknowledged DATA chunk is one not
previously acknowledged in a SACK.


But section 6.2.1 says:
iii) If the SACK is missing a TSN that was previously acknowledged
via a Gap Ack Block (e.g., the data receiver reneged on the
data), then consider the corresponding DATA that might be
possibly missing: Count one miss indication towards Fast
Retransmit as described in Section 7.2.4, and if no
retransmit timer is running for the destination address to
which the DATA chunk was originally transmitted, then T3-rtx
is started for that destination address.

So, the question becomes does the reneged tsn update HTNA counter? It
has been acked by a previous SACK, but 6.2.1 says to treat as missing.

The more I look at this the more I think we should continue doing what
we are doing which is following section 6.2.1.

-vlad

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/