net/octeontx2: fix bad L4 checksum detection
authorAmit Gupta <agupta3@marvell.com>
Fri, 1 May 2020 09:53:28 +0000 (15:23 +0530)
committerFerruh Yigit <ferruh.yigit@intel.com>
Tue, 5 May 2020 13:54:26 +0000 (15:54 +0200)
On detecting outer L4 checksum as bad, both outer and
inner checksums are marked as bad. No need to explicitly
check inner L4 checksum in this case.

Outer L4 UDP checksum error => PKT_RX_OUTER_L4_CKSUM_BAD
and PKT_RX_L4_CKSUM_BAD

Inner L4 UDP checksum error => PKT_RX_L4_CKSUM_BAD

Fixes: 41fe7a3a11fd ("net/octeontx2: offload bad L2/L3/L4 UDP lengths detection")

Signed-off-by: Amit Gupta <agupta3@marvell.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
drivers/net/octeontx2/otx2_lookup.c

index 9dcfc75..10944bc 100644 (file)
@@ -301,6 +301,7 @@ nix_create_rx_ol_flags_array(void *mem)
                            errcode == NIX_RX_PERRCODE_OL4_LEN ||
                            errcode == NIX_RX_PERRCODE_OL4_PORT) {
                                val |= PKT_RX_IP_CKSUM_GOOD;
+                               val |= PKT_RX_L4_CKSUM_BAD;
                                val |= PKT_RX_OUTER_L4_CKSUM_BAD;
                        } else if (errcode == NIX_RX_PERRCODE_IL4_CHK ||
                                   errcode == NIX_RX_PERRCODE_IL4_LEN ||