kernel-fxtec-pro1x/drivers/net/hyperv
Wei Yongjun 4b8a8bc924 net/hyperv: fix the issue that large packets be dropped under bridge
The packets with size larger than 1452 will be dropped by bridge
which with two hyperv netdevice ports. This cause by hyperv netvsc
driver always copy the trailer padding to the data packet, and then
the skb received from netdevice may include wrong skb->len (20 bytes
larger than the real size normally). The captured packet may like
this:

  Ethernet II, Src: Microsof_00:00:07 (00:15:5d:00:00:07),
               Dst: HewlettP_00:00:4e (00:1f:29:00:00:4e)
    Destination: HewlettP_e6:00:4e (00:1f:29:00:00:4e)
    Source: Microsof_f6:6d:07 (00:15:5d:f6:6d:07)
    Type: IP (0x0800)
    Trailer: 1415161718191A1B1C1D1E1F20212223
    Frame check sequence: 0x24252627 [incorrect, should be 0x7c2e5a5e]

The following command help to reproduction it, and the ping ICMP
packets will be dropped by bridge.
  $ ping ip -s 1453

This patch fixed it by removing the trailer padding from the data
packet.

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: David S. Miller <davem@davemloft.net>
2012-02-02 14:35:12 -05:00
..
hyperv_net.h net/hyperv: Add support for jumbo frame up to 64KB 2012-01-04 16:13:05 -08:00
Kconfig staging: hv: move hv_netvsc out of staging area 2011-11-29 16:12:36 +09:00
Makefile staging: hv: move hv_netvsc out of staging area 2011-11-29 16:12:36 +09:00
netvsc.c net/hyperv: Add support for jumbo frame up to 64KB 2012-01-04 16:13:05 -08:00
netvsc_drv.c net/hyperv: rx_bytes should account the ether header size 2012-02-01 14:29:59 -05:00
rndis_filter.c net/hyperv: fix the issue that large packets be dropped under bridge 2012-02-02 14:35:12 -05:00