| Bug ID | 1514 |
|---|---|
| Summary | mlx5 NIC reports checksum unknown when an invalid checksum is present |
| Product | DPDK |
| Version | unspecified |
| Hardware | All |
| OS | All |
| Status | UNCONFIRMED |
| Severity | normal |
| Priority | Normal |
| Component | testpmd |
| Assignee | dev@dpdk.org |
| Reporter | jspewock@iol.unh.edu |
| Target Milestone | --- |
When running testpmd in verbose mode on a NIC that uses the mlx5_core PMD, if you send a packet with an invalid IP checksum it will show the ol_flag `RTE_MBUF_F_RX_IP_CKSUM_UNKNOWN` when it should be `RTE_MBUF_F_RX_IP_CKSUM_BAD`. According to lib/mbuf/rte_mbuf_core.h `RTE_MBUF_F_RX_IP_CKSUM_UNKNOWN` should be shown when there is "no information about the RX IP checksum" and `RTE_MBUF_F_RX_IP_CKSUM_BAD` should be shown when "the IP checksum in the packet is wrong". This leads to an issue currently where, from verbose output in testpmd, you cannot distinguish between a packet having a bad checksum and one not being present at all. It should be noted that this is also the case for L4 and OUTER_L4 checksums as well. You can reproduce this by sending a scapy packet with the following structure to the testpmd shell that is forwarding with verbose mode set to 1: `pakt = Ether() / IP(chksum=0x0)`