On Mon, Aug 24, 2015 at 06:08:30PM +0800, Xin Long wrote:
> as RFC 4960, 6.10 said, *if the receiver detects a partial chunk, it MUST drop
> the chunk*, we should not send the abort. but if we put this discard to inside
> state machine, it will send abort.
>
> so we just drop the partial chunk there, never let this chunk go into the
> state
> machine.
>
> Signed-off-by: Xin Long <[email protected]>
> ---
This is basically reverting a chunk of Daniel's and Vlad's 26b87c788100
("net: sctp: fix remote memory pressure from excessive queueing") .
Isn't it going to re-introduce the initial issue then?
> net/sctp/inqueue.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/net/sctp/inqueue.c b/net/sctp/inqueue.c
> index 7e8a16c..a22ca57 100644
> --- a/net/sctp/inqueue.c
> +++ b/net/sctp/inqueue.c
> @@ -183,9 +183,9 @@ struct sctp_chunk *sctp_inq_pop(struct sctp_inq *queue)
> /* This is not a singleton */
> chunk->singleton = 0;
> } else if (chunk->chunk_end > skb_tail_pointer(chunk->skb)) {
> - /* Discard inside state machine. */
> - chunk->pdiscard = 1;
> - chunk->chunk_end = skb_tail_pointer(chunk->skb);
> + sctp_chunk_free(chunk);
> + chunk = queue->in_progress = NULL;
> + return NULL;
> } else {
> /* We are at the end of the packet, so mark the chunk
> * in case we need to send a SACK.
> --
> 2.1.0
>
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html