X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Flibrte_pdump%2Frte_pdump.c;h=3c11bd795bc1b7f11f9c3380c18ce8c0b6691f28;hb=f82067c4d51b332c1e4163117bee5a4f327f9be4;hp=8a01ac51071a3cca128a3ad30237cce977f3f7dd;hpb=dd80d40897fa7b4458a8cc162c1a1a92e72eb6fb;p=dpdk.git diff --git a/lib/librte_pdump/rte_pdump.c b/lib/librte_pdump/rte_pdump.c index 8a01ac5107..3c11bd795b 100644 --- a/lib/librte_pdump/rte_pdump.c +++ b/lib/librte_pdump/rte_pdump.c @@ -14,8 +14,9 @@ #define DEVICE_ID_SIZE 64 +RTE_LOG_REGISTER(pdump_logtype, lib.pdump, NOTICE); + /* Macro for printing using RTE_LOG */ -static int pdump_logtype; #define PDUMP_LOG(level, fmt, args...) \ rte_log(RTE_LOG_ ## level, pdump_logtype, "%s(): " fmt, \ __func__, ## args) @@ -92,11 +93,11 @@ pdump_copy(struct rte_mbuf **pkts, uint16_t nb_pkts, void *user_params) ring_enq = rte_ring_enqueue_burst(ring, (void *)dup_bufs, d_pkts, NULL); if (unlikely(ring_enq < d_pkts)) { + unsigned int drops = d_pkts - ring_enq; + PDUMP_LOG(DEBUG, "only %d of packets enqueued to ring\n", ring_enq); - do { - rte_pktmbuf_free(dup_bufs[ring_enq]); - } while (++ring_enq < d_pkts); + rte_pktmbuf_free_bulk(&dup_bufs[ring_enq], drops); } } @@ -380,7 +381,7 @@ pdump_validate_ring_mp(struct rte_ring *ring, struct rte_mempool *mp) rte_errno = EINVAL; return -1; } - if (ring->prod.single || ring->cons.single) { + if (rte_ring_is_prod_single(ring) || rte_ring_is_cons_single(ring)) { PDUMP_LOG(ERR, "ring with either SP or SC settings" " is not valid for pdump, should have MP and MC settings\n"); rte_errno = EINVAL; @@ -560,10 +561,3 @@ rte_pdump_disable_by_deviceid(char *device_id, uint16_t queue, return ret; } - -RTE_INIT(pdump_log) -{ - pdump_logtype = rte_log_register("lib.pdump"); - if (pdump_logtype >= 0) - rte_log_set_level(pdump_logtype, RTE_LOG_NOTICE); -}