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 <lucien....@gmail.com> > ---
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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html