igbvf: Fix checksum error when using stacked vlan
authorToshiaki Makita <makita.toshiaki@lab.ntt.co.jp>
Thu, 29 Jan 2015 11:37:08 +0000 (20:37 +0900)
committerDavid S. Miller <davem@davemloft.net>
Sat, 31 Jan 2015 02:03:47 +0000 (18:03 -0800)
commit72b1405964c19b99ad9f75340249b16305cf31ab
treef997b04b382f923275d7d8ed35b9c4e038092b8e
parentd4bcef3fbe887ff93b58da4fcf6df1eee416e8fa
igbvf: Fix checksum error when using stacked vlan

When a skb has multiple vlans and it is CHECKSUM_PARTIAL,
igbvf_tx_csum() fails to get the network protocol and checksum related
descriptor fields are not configured correctly because skb->protocol
doesn't show the L3 protocol in this case.

Use vlan_get_protocol() to get the proper network protocol.

Signed-off-by: Toshiaki Makita <makita.toshiaki@lab.ntt.co.jp>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/intel/igbvf/netdev.c