Skip to content
  • Wei Yongjun's avatar
    net/hyperv: fix the issue that large packets be dropped under bridge · 4b8a8bc9
    Wei Yongjun authored
    
    
    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: default avatarWei Yongjun <yongjun_wei@trendmicro.com.cn>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    4b8a8bc9