}
}
}
- 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);