[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20160503.003403.425735624710254974.davem@davemloft.net>
Date: Tue, 03 May 2016 00:34:03 -0400 (EDT)
From: David Miller <davem@...emloft.net>
To: nhorman@...driver.com
Cc: netdev@...r.kernel.org, jhs@...atatu.com,
netem@...ts.linux-foundation.org, eric.dumazet@...il.com,
stephen@...workplumber.org
Subject: Re: [PATCHv4] netem: Segment GSO packets on enqueue
From: Neil Horman <nhorman@...driver.com>
Date: Mon, 2 May 2016 12:20:15 -0400
> This was recently reported to me, and reproduced on the latest net kernel,
> when attempting to run netperf from a host that had a netem qdisc attached
> to the egress interface:
...
> The problem occurs because netem is not prepared to handle GSO packets (as it
> uses skb_checksum_help in its enqueue path, which cannot manipulate these
> frames).
>
> The solution I think is to simply segment the skb in a simmilar fashion to the
> way we do in __dev_queue_xmit (via validate_xmit_skb), with some minor changes.
> When we decide to corrupt an skb, if the frame is GSO, we segment it, corrupt
> the first segment, and enqueue the remaining ones.
>
> tested successfully by myself on the latest net kernel, to which this applies
>
> Signed-off-by: Neil Horman <nhorman@...driver.com>
Applied and queued up for -stable, thanks Neil.
Powered by blists - more mailing lists