net/mlx5: fix Rx metadata leftovers
[dpdk.git] / drivers / net / mlx5 / mlx5_rxtx.c
index e3ce9fd..c76b995 100644 (file)
@@ -1388,10 +1388,15 @@ rxq_cq_to_mbuf(struct mlx5_rxq_data *rxq, struct rte_mbuf *pkt,
                        }
                }
        }
-       if (rxq->dynf_meta && cqe->flow_table_metadata) {
-               pkt->ol_flags |= rxq->flow_meta_mask;
-               *RTE_MBUF_DYNFIELD(pkt, rxq->flow_meta_offset, uint32_t *) =
-                       cqe->flow_table_metadata;
+       if (rxq->dynf_meta) {
+               uint32_t meta = cqe->flow_table_metadata &
+                               rxq->flow_meta_port_mask;
+
+               if (meta) {
+                       pkt->ol_flags |= rxq->flow_meta_mask;
+                       *RTE_MBUF_DYNFIELD(pkt, rxq->flow_meta_offset,
+                                               uint32_t *) = meta;
+               }
        }
        if (rxq->csum)
                pkt->ol_flags |= rxq_cq_to_ol_flags(cqe);