1
linux/net/core
Ajit Khaparde c4d49794ff net: bug fix for vlan + gro issue
Traffic (tcp) doesnot start on a vlan interface when gro is enabled.
Even the tcp handshake was not taking place.
This is because, the eth_type_trans call before the netif_receive_skb
in napi_gro_finish() resets the skb->dev to napi->dev from the previously
set vlan netdev interface. This causes the ip_route_input to drop the
incoming packet considering it as a packet coming from a martian source.

I could repro this on 2.6.32.7 (stable) and 2.6.33-rc7.
With this fix, the traffic starts and the test runs fine on both vlan
and non-vlan interfaces.

CC: Herbert Xu <herbert@gondor.apana.org.au>
CC: Patrick McHardy <kaber@trash.net>
Signed-off-by: Ajit Khaparde <ajitk@serverengines.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
2010-02-23 19:09:31 -08:00
..
datagram.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-11-06 00:55:55 -08:00
dev_mcast.c
dev.c net: bug fix for vlan + gro issue 2010-02-23 19:09:31 -08:00
drop_monitor.c net: Replace old style lock initializer 2009-11-07 00:46:34 -08:00
dst.c dst: call cond_resched() in dst_gc_task() 2010-02-08 15:00:39 -08:00
ethtool.c ethtool: allow non-admin user to read GRO settings. 2010-02-16 14:53:23 -08:00
fib_rules.c net: Allow fib_rule_unregister to batch 2009-12-03 12:22:55 -08:00
filter.c filter: Add SKF_AD_QUEUE instruction 2009-10-20 01:06:22 -07:00
flow.c
gen_estimator.c
gen_stats.c
iovec.c
kmap_skb.h
link_watch.c linkwatch: linkwatch_forget_dev() to speedup device dismantle 2009-11-18 05:03:11 -08:00
Makefile skbuff: remove skb_dma_map/unmap 2009-12-02 19:57:15 -08:00
neighbour.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 2009-12-08 07:55:01 -08:00
net_namespace.c netns: Add an explicit rcu_barrier to unregister_pernet_{device|subsys} 2009-12-03 12:22:03 -08:00
net-sysfs.c net-sysfs: Use rtnl_trylock in wireless sysfs methods. 2010-02-19 15:40:51 -08:00
net-sysfs.h
net-traces.c
netevent.c
netpoll.c
pktgen.c pktgen: Fix freezing problem 2010-02-04 14:00:41 -08:00
request_sock.c
rtnetlink.c net: Fix userspace RTM_NEWLINK notifications. 2009-12-13 19:45:22 -08:00
scm.c
skbuff.c const: constify remaining pipe_buf_operations 2009-12-16 07:20:05 -08:00
sock.c tcp: update the netstamp_needed counter when cloning sockets 2010-01-08 00:00:09 -08:00
stream.c
sysctl_net_core.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 2009-12-08 07:55:01 -08:00
user_dma.c
utils.c