From: Eric Dumazet <eric.dumazet@xxxxxxxxx> Date: Mon, 15 Jul 2013 20:03:19 -0700 > From: Eric Dumazet <edumazet@xxxxxxxxxx> > > commit 45f00f99d6e ("ipv4: tcp: clean up tcp_v4_early_demux()") added a > performance regression for non GRO traffic, basically disabling > IP early demux. > > IPv6 stack resets transport header in ip6_rcv() before calling > IP early demux in ip6_rcv_finish(), while IPv4 does this only in > ip_local_deliver_finish(), _after_ IP early demux. > > GRO traffic happened to enable IP early demux because transport header > is also set in inet_gro_receive() > > Instead of reverting the faulty commit, we can make IPv4/IPv6 behave the > same : transport_header should be set in ip_rcv() instead of > ip_local_deliver_finish() > > ip_local_deliver_finish() can also use skb_network_header_len() which is > faster than ip_hdrlen() > > Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Applied and queued up for -stable, thanks Eric. -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html