summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuc Provoost <luc.provoost@intel.com>2021-03-31 17:52:47 +0200
committerLuc Provoost <luc.provoost@intel.com>2021-03-31 17:52:47 +0200
commitc8389cb59760087b7f0faae1d0e581fb0a18260c (patch)
tree81d3f824df7cf9c17da84c749c1fde02a61d45df
parent6d82c12cc7876aef8f1a6f98e5897d96a1e991c8 (diff)
Fix ref counter bug
Fixed the error in the calculation of the rte_pktmbuf_refcnt_update parameter Change-Id: I858d9e0b8cf158f9c24807197df34f69217a1b1c Signed-off-by: Luc Provoost <luc.provoost@intel.com>
-rw-r--r--VNFs/DPPD-PROX/handle_mirror.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/VNFs/DPPD-PROX/handle_mirror.c b/VNFs/DPPD-PROX/handle_mirror.c
index ba6e590..73a5242 100644
--- a/VNFs/DPPD-PROX/handle_mirror.c
+++ b/VNFs/DPPD-PROX/handle_mirror.c
@@ -69,7 +69,7 @@ static int handle_mirror_bulk(struct task_base *tbase, struct rte_mbuf **mbufs,
PREFETCH0(hdr[j]);
}
for (uint16_t j = 0; j < n_pkts; ++j) {
- rte_pktmbuf_refcnt_update(mbufs2[j], (task->n_dests - 1) * task->multiplier);
+ rte_pktmbuf_refcnt_update(mbufs2[j], task->n_dests * task->multiplier - 1);
prox_rte_ipv4_hdr *pip = (prox_rte_ipv4_hdr *) (hdr[j] + 1);
if ((task->mirror_size != 0) && (hdr[j]->ether_type == ETYPE_IPv4) && ((pip->next_proto_id == IPPROTO_UDP) || (pip->next_proto_id == IPPROTO_TCP))) {
rte_pktmbuf_pkt_len(mbufs2[j]) = task->mirror_size;