net/bnxt: fix mark id update to mbuf
[dpdk.git] / drivers / net / bnxt / bnxt_rxr.c
index eb6f33c..43b1256 100644 (file)
@@ -485,6 +485,9 @@ bnxt_ulp_set_mark_in_mbuf(struct bnxt *bp, struct rx_pkt_cmpl_hi *rxcmp1,
        rc = ulp_mark_db_mark_get(bp->ulp_ctx, gfid,
                                  cfa_code, vfr_flag, &mark_id);
        if (!rc) {
+               /* VF to VFR Rx path. So, skip mark_id injection in mbuf */
+               if (vfr_flag && *vfr_flag)
+                       return mark_id;
                /* Got the mark, write it to the mbuf and return */
                mbuf->hash.fdir.hi = mark_id;
                mbuf->udata64 = (cfa_code & 0xffffffffull) << 32;
@@ -782,7 +785,7 @@ uint16_t bnxt_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts,
                     !rte_spinlock_trylock(&rxq->lock)))
                return 0;
 
-#if defined(RTE_ARCH_X86)
+#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM64)
        /*
         * Replenish buffers if needed when a transition has been made from
         * vector- to non-vector- receive processing.