Message ID | 20221220202556.24421-1-doshir@vmware.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 3d8f2c4269d08f8793e946279dbdf5e972cc4911 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net] vmxnet3: correctly report csum_level for encapsulated packet | expand |
Hello: This patch was applied to netdev/net.git (master) by Jakub Kicinski <kuba@kernel.org>: On Tue, 20 Dec 2022 12:25:55 -0800 you wrote: > Commit dacce2be3312 ("vmxnet3: add geneve and vxlan tunnel offload > support") added support for encapsulation offload. However, the > pathc did not report correctly the csum_level for encapsulated packet. > > This patch fixes this issue by reporting correct csum level for the > encapsulated packet. > > [...] Here is the summary with links: - [net] vmxnet3: correctly report csum_level for encapsulated packet https://git.kernel.org/netdev/net/c/3d8f2c4269d0 You are awesome, thank you!
diff --git a/drivers/net/vmxnet3/vmxnet3_drv.c b/drivers/net/vmxnet3/vmxnet3_drv.c index 6f1e560fb15c..56267c327f0b 100644 --- a/drivers/net/vmxnet3/vmxnet3_drv.c +++ b/drivers/net/vmxnet3/vmxnet3_drv.c @@ -1288,6 +1288,10 @@ vmxnet3_rx_csum(struct vmxnet3_adapter *adapter, (le32_to_cpu(gdesc->dword[3]) & VMXNET3_RCD_CSUM_OK) == VMXNET3_RCD_CSUM_OK) { skb->ip_summed = CHECKSUM_UNNECESSARY; + if ((le32_to_cpu(gdesc->dword[0]) & + (1UL << VMXNET3_RCD_HDR_INNER_SHIFT))) { + skb->csum_level = 1; + } WARN_ON_ONCE(!(gdesc->rcd.tcp || gdesc->rcd.udp) && !(le32_to_cpu(gdesc->dword[0]) & (1UL << VMXNET3_RCD_HDR_INNER_SHIFT))); @@ -1297,6 +1301,10 @@ vmxnet3_rx_csum(struct vmxnet3_adapter *adapter, } else if (gdesc->rcd.v6 && (le32_to_cpu(gdesc->dword[3]) & (1 << VMXNET3_RCD_TUC_SHIFT))) { skb->ip_summed = CHECKSUM_UNNECESSARY; + if ((le32_to_cpu(gdesc->dword[0]) & + (1UL << VMXNET3_RCD_HDR_INNER_SHIFT))) { + skb->csum_level = 1; + } WARN_ON_ONCE(!(gdesc->rcd.tcp || gdesc->rcd.udp) && !(le32_to_cpu(gdesc->dword[0]) & (1UL << VMXNET3_RCD_HDR_INNER_SHIFT)));