net/hyperv: rx_bytes should account the ether header size
authorWei Yongjun <yongjun_wei@trendmicro.com.cn>
Sun, 29 Jan 2012 22:14:02 +0000 (22:14 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 1 Feb 2012 19:29:59 +0000 (14:29 -0500)
skb->len after call eth_type_trans() does not include the ether
header size, but rx_bytes should account it.

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/hyperv/netvsc_drv.c

index 1a1ca6cfc74aada9edf64b494cefa743b95276ae..9dccc7a3a2202dcf04df0020a1bba4f4a9b584c7 100644 (file)
@@ -298,7 +298,7 @@ int netvsc_recv_callback(struct hv_device *device_obj,
        skb->ip_summed = CHECKSUM_NONE;
 
        net->stats.rx_packets++;
-       net->stats.rx_bytes += skb->len;
+       net->stats.rx_bytes += packet->total_data_buflen;
 
        /*
         * Pass the skb back up. Network stack will deallocate the skb when it