aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGovindarajulu Varadarajan <gvaradar@cisco.com>2019-01-30 06:59:00 -0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-02-12 19:45:00 +0100
commitf10e046ee3605c79fc5f2805800bf8cba1aa0650 (patch)
treeac0e3aaca1ed255bba02cfa2153d111563722ef0
parent072e11e73d95fa92060a53aa9f62bf8ab45dc8c0 (diff)
downloadlinux-linaro-stable-f10e046ee3605c79fc5f2805800bf8cba1aa0650.tar.gz
enic: fix checksum validation for IPv6
[ Upstream commit 7596175e99b3d4bce28022193efd954c201a782a ] In case of IPv6 pkts, ipv4_csum_ok is 0. Because of this, driver does not set skb->ip_summed. So IPv6 rx checksum is not offloaded. Signed-off-by: Govindarajulu Varadarajan <gvaradar@cisco.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/net/ethernet/cisco/enic/enic_main.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ethernet/cisco/enic/enic_main.c b/drivers/net/ethernet/cisco/enic/enic_main.c
index 07282eb76867..89acf7bc4cf9 100644
--- a/drivers/net/ethernet/cisco/enic/enic_main.c
+++ b/drivers/net/ethernet/cisco/enic/enic_main.c
@@ -1180,7 +1180,7 @@ static void enic_rq_indicate_buf(struct vnic_rq *rq,
* CHECSUM_UNNECESSARY.
*/
if ((netdev->features & NETIF_F_RXCSUM) && tcp_udp_csum_ok &&
- ipv4_csum_ok)
+ (ipv4_csum_ok || ipv6))
skb->ip_summed = CHECKSUM_UNNECESSARY;
if (vlan_stripped)