net/mlx5: fix missing packet type calculation
authorYongseok Koh <yskoh@mellanox.com>
Wed, 26 Jul 2017 19:29:32 +0000 (12:29 -0700)
committerFerruh Yigit <ferruh.yigit@intel.com>
Mon, 31 Jul 2017 17:58:41 +0000 (19:58 +0200)
Calculation of packet type is currently enabled only when HW checksum is
enabled.
This isn't related to HW checksum offload.  Enable it regardless.

Fixes: 081f7eae242e ("mlx5: process offload flags only when requested")
Cc: stable@dpdk.org
Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
drivers/net/mlx5/mlx5_rxtx.c

index 29ce91b..5a24e15 100644 (file)
@@ -1755,7 +1755,7 @@ mlx5_rx_burst(void *dpdk_rxq, struct rte_mbuf **pkts, uint16_t pkts_n)
                        pkt = seg;
                        assert(len >= (rxq->crc_present << 2));
                        /* Update packet information. */
-                       pkt->packet_type = 0;
+                       pkt->packet_type = rxq_cq_to_pkt_type(cqe);
                        pkt->ol_flags = 0;
                        if (rss_hash_res && rxq->rss_hash) {
                                pkt->hash.rss = rss_hash_res;
@@ -1773,10 +1773,8 @@ mlx5_rx_burst(void *dpdk_rxq, struct rte_mbuf **pkts, uint16_t pkts_n)
                                                mlx5_flow_mark_get(mark);
                                }
                        }
-                       if (rxq->csum | rxq->csum_l2tun) {
-                               pkt->packet_type = rxq_cq_to_pkt_type(cqe);
+                       if (rxq->csum | rxq->csum_l2tun)
                                pkt->ol_flags |= rxq_cq_to_ol_flags(rxq, cqe);
-                       }
                        if (rxq->vlan_strip &&
                            (cqe->hdr_type_etc &
                             htons(MLX5_CQE_VLAN_STRIPPED))) {