Re: [PATCH v2 net-next 3/4] vmxnet3: add geneve and vxlan tunnel offload support
From: David Miller <davem@davemloft.net>
Date: 2020-05-28 21:43:29
Also in:
lkml
From: Ronak Doshi <redacted> Date: Thu, 28 May 2020 21:18:34 +0000
On 5/28/20, 12:35 PM, "Jakub Kicinski" [off-list ref] wrote:quoted
On Thu, 28 May 2020 11:36:14 -0700 Ronak Doshi wrote: > @@ -1168,13 +1220,21 @@ 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; > - BUG_ON(!(gdesc->rcd.tcp || gdesc->rcd.udp)); > - BUG_ON(gdesc->rcd.frg); > + BUG_ON(!(gdesc->rcd.tcp || gdesc->rcd.udp) && > + !(le32_to_cpu(gdesc->dword[0]) & > + (1UL << VMXNET3_RCD_HDR_INNER_SHIFT))); > + BUG_ON(gdesc->rcd.frg && > + !(le32_to_cpu(gdesc->dword[0]) & > + (1UL << VMXNET3_RCD_HDR_INNER_SHIFT))); Seems fairly extreme to trigger BUG_ONs if rx descriptor doesn't contain valid checksum offload flags :S WARN_ON_ONCE() and ignore checsum or drop packet would be more than sufficient.Hello Jakub, Good point. However, I did not want to change the behavior in this patch, so kept it as is. If required, this can be done in future separate patch.
It's really awful to kill so much of the system because of a flipped bit in a descriptor. Please fix this as well as address Michal's feedback. Thanks.