ring: return free space when enqueuing
[dpdk.git] / lib / librte_pdump / rte_pdump.c
index ea5ccd9..b599d65 100644 (file)
@@ -197,7 +197,7 @@ pdump_copy(struct rte_mbuf **pkts, uint16_t nb_pkts, void *user_params)
                        dup_bufs[d_pkts++] = p;
        }
 
-       ring_enq = rte_ring_enqueue_burst(ring, (void *)dup_bufs, d_pkts);
+       ring_enq = rte_ring_enqueue_burst(ring, (void *)dup_bufs, d_pkts, NULL);
        if (unlikely(ring_enq < d_pkts)) {
                RTE_LOG(DEBUG, PDUMP,
                        "only %d of packets enqueued to ring\n", ring_enq);
@@ -225,29 +225,6 @@ pdump_tx(uint8_t port __rte_unused, uint16_t qidx __rte_unused,
        return nb_pkts;
 }
 
-static int
-pdump_get_dombdf(char *device_id, char *domBDF, size_t len)
-{
-       int ret;
-       struct rte_pci_addr dev_addr = {0};
-
-       /* identify if device_id is pci address or name */
-       ret = eal_parse_pci_DomBDF(device_id, &dev_addr);
-       if (ret < 0)
-               return -1;
-
-       if (dev_addr.domain)
-               ret = snprintf(domBDF, len, "%u:%u:%u.%u", dev_addr.domain,
-                               dev_addr.bus, dev_addr.devid,
-                               dev_addr.function);
-       else
-               ret = snprintf(domBDF, len, "%u:%u.%u", dev_addr.bus,
-                               dev_addr.devid,
-                               dev_addr.function);
-
-       return ret;
-}
-
 static int
 pdump_regitser_rx_callbacks(uint16_t end_q, uint8_t port, uint16_t queue,
                                struct rte_ring *ring, struct rte_mempool *mp,
@@ -292,7 +269,7 @@ pdump_regitser_rx_callbacks(uint16_t end_q, uint8_t port, uint16_t queue,
                        if (ret < 0) {
                                RTE_LOG(ERR, PDUMP,
                                        "failed to remove rx callback, errno=%d\n",
-                                       rte_errno);
+                                       -ret);
                                return ret;
                        }
                        cbs->cb = NULL;
@@ -347,7 +324,7 @@ pdump_regitser_tx_callbacks(uint16_t end_q, uint8_t port, uint16_t queue,
                        if (ret < 0) {
                                RTE_LOG(ERR, PDUMP,
                                        "failed to remove tx callback, errno=%d\n",
-                                       rte_errno);
+                                       -ret);
                                return ret;
                        }
                        cbs->cb = NULL;
@@ -360,7 +337,7 @@ pdump_regitser_tx_callbacks(uint16_t end_q, uint8_t port, uint16_t queue,
 static int
 set_pdump_rxtx_cbs(struct pdump_request *p)
 {
-       uint16_t nb_rx_q, nb_tx_q = 0, end_q, queue;
+       uint16_t nb_rx_q = 0, nb_tx_q = 0, end_q, queue;
        uint8_t port;
        int ret = 0;
        uint32_t flags;
@@ -763,7 +740,7 @@ pdump_validate_ring_mp(struct rte_ring *ring, struct rte_mempool *mp)
                rte_errno = EINVAL;
                return -1;
        }
-       if (ring->prod.sp_enqueue || ring->cons.sc_dequeue) {
+       if (ring->prod.single || ring->cons.single) {
                RTE_LOG(ERR, PDUMP, "ring with either SP or SC settings"
                " is not valid for pdump, should have MP and MC settings\n");
                rte_errno = EINVAL;
@@ -885,7 +862,6 @@ rte_pdump_enable_by_deviceid(char *device_id, uint16_t queue,
                                void *filter)
 {
        int ret = 0;
-       char domBDF[DEVICE_ID_SIZE];
 
        ret = pdump_validate_ring_mp(ring, mp);
        if (ret < 0)
@@ -894,11 +870,7 @@ rte_pdump_enable_by_deviceid(char *device_id, uint16_t queue,
        if (ret < 0)
                return ret;
 
-       if (pdump_get_dombdf(device_id, domBDF, sizeof(domBDF)) > 0)
-               ret = pdump_prepare_client_request(domBDF, queue, flags,
-                                               ENABLE, ring, mp, filter);
-       else
-               ret = pdump_prepare_client_request(device_id, queue, flags,
+       ret = pdump_prepare_client_request(device_id, queue, flags,
                                                ENABLE, ring, mp, filter);
 
        return ret;
@@ -928,17 +900,12 @@ rte_pdump_disable_by_deviceid(char *device_id, uint16_t queue,
                                uint32_t flags)
 {
        int ret = 0;
-       char domBDF[DEVICE_ID_SIZE];
 
        ret = pdump_validate_flags(flags);
        if (ret < 0)
                return ret;
 
-       if (pdump_get_dombdf(device_id, domBDF, sizeof(domBDF)) > 0)
-               ret = pdump_prepare_client_request(domBDF, queue, flags,
-                                               DISABLE, NULL, NULL, NULL);
-       else
-               ret = pdump_prepare_client_request(device_id, queue, flags,
+       ret = pdump_prepare_client_request(device_id, queue, flags,
                                                DISABLE, NULL, NULL, NULL);
 
        return ret;