Fix the Rx offload flags when the IP or L4 checksum is seen as incorrect
by the hardware. In this case, the proper value is PKT_RX_IP_CKSUM_BAD.

PKT_RX_IP_CKSUM_NONE means that the checksum may be incorrect in the
packet headers, but the integrity of the IP header is verified. This is
mostly useful for virtual drivers.

Fixes: 7ec39d8c524b ("net/bnxt: update status of Rx IP/L4 CKSUM")
Cc: sta...@dpdk.org

Signed-off-by: Olivier Matz <olivier.m...@6wind.com>
---

Hi Ajit,

PKT_RX_IP_CKSUM_UNKNOWN is also a good candidate instead of
PKT_RX_IP_CKSUM_BAD. Please can you check?

Thanks
Olivier



 drivers/net/bnxt/bnxt_rxr.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/bnxt/bnxt_rxr.c b/drivers/net/bnxt/bnxt_rxr.c
index 9e70c8604..9b88a64bf 100644
--- a/drivers/net/bnxt/bnxt_rxr.c
+++ b/drivers/net/bnxt/bnxt_rxr.c
@@ -475,12 +475,12 @@ static int bnxt_rx_pkt(struct rte_mbuf **rx_pkt,
        if (likely(RX_CMP_IP_CS_OK(rxcmp1)))
                mbuf->ol_flags |= PKT_RX_IP_CKSUM_GOOD;
        else
-               mbuf->ol_flags |= PKT_RX_IP_CKSUM_NONE;
+               mbuf->ol_flags |= PKT_RX_IP_CKSUM_BAD;
 
        if (likely(RX_CMP_L4_CS_OK(rxcmp1)))
                mbuf->ol_flags |= PKT_RX_L4_CKSUM_GOOD;
        else
-               mbuf->ol_flags |= PKT_RX_L4_CKSUM_NONE;
+               mbuf->ol_flags |= PKT_RX_L4_CKSUM_BAD;
 
        mbuf->packet_type = bnxt_parse_pkt_type(rxcmp, rxcmp1);
 
-- 
2.11.0

Reply via email to