fix rte_crypto_ipsec_mb dependency
[samplevnf.git] / VNFs / DPPD-PROX / handle_mirror.c
index 8e6eb6d..73a5242 100644 (file)
@@ -61,17 +61,17 @@ static int handle_mirror_bulk(struct task_base *tbase, struct rte_mbuf **mbufs,
        rte_memcpy(mbufs2, mbufs, sizeof(mbufs[0]) * n_pkts);
        /* prefetch for optimization */
        prox_rte_ether_hdr * hdr[MAX_PKT_BURST];
-       //for (uint16_t i = 0; i < n_pkts; ++i) {
-       //      PREFETCH0(mbufs2[i]);
-       //}
+       for (uint16_t j = 0; j < n_pkts; ++j) {
+               PREFETCH0(mbufs2[j]);
+       }
        for (uint16_t j = 0; j < n_pkts; ++j) {
                hdr[j] = rte_pktmbuf_mtod(mbufs2[j], prox_rte_ether_hdr *);
                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 == RTE_ETHER_TYPE_IPV4) && ((pip->next_proto_id == IPPROTO_UDP) || (pip->next_proto_id == IPPROTO_TCP))) {
+               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;
                        rte_pktmbuf_data_len(mbufs2[j]) = task->mirror_size;
                        pip->total_length = rte_bswap16(task->mirror_size-sizeof(prox_rte_ether_hdr));