net/tap: add queue and port ids in queue structures
authorRaslan Darawsheh <rasland@mellanox.com>
Thu, 18 Oct 2018 10:17:27 +0000 (13:17 +0300)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 26 Oct 2018 20:14:05 +0000 (22:14 +0200)
Port and queue ids are added to easily map the file
descriptors stored in each process private.

Signed-off-by: Raslan Darawsheh <rasland@mellanox.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
drivers/net/tap/rte_eth_tap.c
drivers/net/tap/rte_eth_tap.h

index 77f2694..4d1ac23 100644 (file)
@@ -1293,6 +1293,7 @@ tap_rx_queue_setup(struct rte_eth_dev *dev,
        rxq->mp = mp;
        rxq->trigger_seen = 1; /* force initial burst */
        rxq->in_port = dev->data->port_id;
+       rxq->queue_id = rx_queue_id;
        rxq->nb_rx_desc = nb_desc;
        iovecs = rte_zmalloc_socket(dev->device->name, sizeof(*iovecs), 0,
                                    socket_id);
@@ -1359,6 +1360,8 @@ tap_tx_queue_setup(struct rte_eth_dev *dev,
                return -1;
        dev->data->tx_queues[tx_queue_id] = &internals->txq[tx_queue_id];
        txq = dev->data->tx_queues[tx_queue_id];
+       txq->out_port = dev->data->port_id;
+       txq->queue_id = tx_queue_id;
 
        offloads = tx_conf->offloads | dev->data->dev_conf.txmode.offloads;
        txq->csum = !!(offloads &
index 44e2773..4502e24 100644 (file)
@@ -46,6 +46,7 @@ struct rx_queue {
        struct rte_mempool *mp;         /* Mempool for RX packets */
        uint32_t trigger_seen;          /* Last seen Rx trigger value */
        uint16_t in_port;               /* Port ID */
+       uint16_t queue_id;              /* queue ID*/
        int fd;
        struct pkt_stats stats;         /* Stats for this RX queue */
        uint16_t nb_rx_desc;            /* max number of mbufs available */
@@ -62,6 +63,8 @@ struct tx_queue {
        uint16_t csum:1;                /* Enable checksum offloading */
        struct pkt_stats stats;         /* Stats for this TX queue */
        struct rte_gso_ctx gso_ctx;     /* GSO context */
+       uint16_t out_port;              /* Port ID */
+       uint16_t queue_id;              /* queue ID*/
 };
 
 struct pmd_internals {