#include <string.h>
#include <stdlib.h>
-#include <altivec.h>
+#include <rte_altivec.h>
#include <rte_mbuf.h>
#include <rte_mempool.h>
elts[pos + 2]->hash.fdir.hi = flow_tag;
elts[pos + 3]->hash.fdir.hi = flow_tag;
}
- if (rte_flow_dynf_metadata_avail()) {
- const uint32_t meta = *RTE_FLOW_DYNF_METADATA(t_pkt);
+ if (rxq->dynf_meta) {
+ int32_t offs = rxq->flow_meta_offset;
+ const uint32_t meta =
+ *RTE_MBUF_DYNFIELD(t_pkt, offs, uint32_t *);
/* Check if title packet has valid metadata. */
if (meta) {
MLX5_ASSERT(t_pkt->ol_flags &
- PKT_RX_DYNF_METADATA);
- *RTE_FLOW_DYNF_METADATA(elts[pos]) = meta;
- *RTE_FLOW_DYNF_METADATA(elts[pos + 1]) = meta;
- *RTE_FLOW_DYNF_METADATA(elts[pos + 2]) = meta;
- *RTE_FLOW_DYNF_METADATA(elts[pos + 3]) = meta;
+ rxq->flow_meta_mask);
+ *RTE_MBUF_DYNFIELD(elts[pos], offs,
+ uint32_t *) = meta;
+ *RTE_MBUF_DYNFIELD(elts[pos + 1], offs,
+ uint32_t *) = meta;
+ *RTE_MBUF_DYNFIELD(elts[pos + 2], offs,
+ uint32_t *) = meta;
+ *RTE_MBUF_DYNFIELD(elts[pos + 3], offs,
+ uint32_t *) = meta;
}
}
pkts[pos + 3]->timestamp =
rte_be_to_cpu_64(cq[pos + p3].timestamp);
}
- if (rte_flow_dynf_metadata_avail()) {
- uint64_t flag = rte_flow_dynf_metadata_mask;
- int offs = rte_flow_dynf_metadata_offs;
+ if (rxq->dynf_meta) {
+ uint64_t flag = rxq->flow_meta_mask;
+ int32_t offs = rxq->flow_meta_offset;
uint32_t metadata;
/* This code is subject for futher optimization. */