sctp: do not clear chunk->ecn_ce_done flag
authorMarcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Wed, 13 Jul 2016 18:08:59 +0000 (15:08 -0300)
committerDavid S. Miller <davem@davemloft.net>
Thu, 14 Jul 2016 01:10:14 +0000 (18:10 -0700)
We should not clear that flag when switching to a new skb from a GSO skb
because it would cause ECN processing to happen multiple times per GSO
skb, which is not wanted. Instead, let it be processed once per chunk.
That is, in other words, once per IP header available.

Fixes: 90017accff61 ("sctp: Add GSO support")
Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sctp/inqueue.c

index 8fc773f..9427706 100644 (file)
@@ -217,7 +217,6 @@ new_skb:
                chunk->auth = 0;
                chunk->has_asconf = 0;
                chunk->end_of_packet = 0;
                chunk->auth = 0;
                chunk->has_asconf = 0;
                chunk->end_of_packet = 0;
-               chunk->ecn_ce_done = 0;
                if (chunk->head_skb) {
                        struct sctp_input_cb
                                *cb = SCTP_INPUT_CB(chunk->skb),
                if (chunk->head_skb) {
                        struct sctp_input_cb
                                *cb = SCTP_INPUT_CB(chunk->skb),