From: Neil Horman <nhor...@tuxdriver.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 <nhor...@tuxdriver.com> Applied and queued up for -stable, thanks Neil.