rdma: fix skip_ipv4_cksum behavior in scalar path 60/31960/2
authorTianyu Li <tianyu.li@arm.com>
Fri, 9 Apr 2021 07:51:46 +0000 (15:51 +0800)
committerBeno�t Ganne <bganne@cisco.com>
Wed, 14 Apr 2021 12:05:49 +0000 (12:05 +0000)
Current rdma input L3 validating behavior for scalar path is:
if any packet L3_OK flag matches, then unset skip_ip4_cksum.
The correct behavior should be if any packet L3_OK NOT match,
then unset skip_ip4_cksum. The logic is also different from
the vector path. This patch fixes the wrong behavior for scalar path.

Type: fix
Signed-off-by: Tianyu Li <tianyu.li@arm.com>
Change-Id: I5ca5ed3aa0c07d441f3c87b33f03ea8f7a3c9826

src/plugins/rdma/input.c

index 69b14ee..df101e5 100644 (file)
@@ -704,7 +704,7 @@ rdma_device_mlx5dv_l3_validate_and_swap_bc (rdma_per_thread_data_t
     *(u32x4 *) (bc + i) = u32x4_byte_swap (*(u32x4 *) (bc + i));
 #else
   for (int i = 0; i < n_rx_packets; i++)
-    if ((ptd->cqe_flags[i] & mask) == match)
+    if ((ptd->cqe_flags[i] & mask) != match)
       skip_ip4_cksum = 0;
 
   for (int i = 0; i < n_rx_packets; i++)