ethdev: change promiscuous callbacks to return status
[dpdk.git] / drivers / net / memif / rte_eth_memif.c
index 00c9b39..0d4360e 100644 (file)
@@ -164,7 +164,7 @@ memif_mp_request_regions(struct rte_eth_dev *dev)
        return memif_connect(dev);
 }
 
-static void
+static int
 memif_dev_info(struct rte_eth_dev *dev __rte_unused, struct rte_eth_dev_info *dev_info)
 {
        dev_info->max_mac_addrs = 1;
@@ -172,6 +172,8 @@ memif_dev_info(struct rte_eth_dev *dev __rte_unused, struct rte_eth_dev_info *de
        dev_info->max_rx_queues = ETH_MEMIF_MAX_NUM_Q_PAIRS;
        dev_info->max_tx_queues = ETH_MEMIF_MAX_NUM_Q_PAIRS;
        dev_info->min_rx_bufsize = 0;
+
+       return 0;
 }
 
 static memif_ring_t *
@@ -479,7 +481,6 @@ no_free_slots:
                }
        }
 
-       mq->n_err += nb_pkts - n_tx_pkts;
        mq->n_pkts += n_tx_pkts;
        return n_tx_pkts;
 }
@@ -857,7 +858,6 @@ memif_tx_queue_setup(struct rte_eth_dev *dev,
            (pmd->role == MEMIF_ROLE_SLAVE) ? MEMIF_RING_S2M : MEMIF_RING_M2S;
        mq->n_pkts = 0;
        mq->n_bytes = 0;
-       mq->n_err = 0;
        mq->intr_handle.fd = -1;
        mq->intr_handle.type = RTE_INTR_HANDLE_EXT;
        dev->data->tx_queues[qid] = mq;
@@ -886,7 +886,6 @@ memif_rx_queue_setup(struct rte_eth_dev *dev,
        mq->type = (pmd->role == MEMIF_ROLE_SLAVE) ? MEMIF_RING_M2S : MEMIF_RING_S2M;
        mq->n_pkts = 0;
        mq->n_bytes = 0;
-       mq->n_err = 0;
        mq->intr_handle.fd = -1;
        mq->intr_handle.type = RTE_INTR_HANDLE_EXT;
        mq->mempool = mb_pool;
@@ -938,7 +937,6 @@ memif_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
        stats->ibytes = 0;
        stats->opackets = 0;
        stats->obytes = 0;
-       stats->oerrors = 0;
 
        tmp = (pmd->role == MEMIF_ROLE_SLAVE) ? pmd->run.num_s2m_rings :
            pmd->run.num_m2s_rings;
@@ -966,7 +964,6 @@ memif_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
                stats->q_obytes[i] = mq->n_bytes;
                stats->opackets += mq->n_pkts;
                stats->obytes += mq->n_bytes;
-               stats->oerrors += mq->n_err;
        }
        return 0;
 }
@@ -983,14 +980,12 @@ memif_stats_reset(struct rte_eth_dev *dev)
                    dev->data->rx_queues[i];
                mq->n_pkts = 0;
                mq->n_bytes = 0;
-               mq->n_err = 0;
        }
        for (i = 0; i < pmd->run.num_m2s_rings; i++) {
                mq = (pmd->role == MEMIF_ROLE_SLAVE) ? dev->data->rx_queues[i] :
                    dev->data->tx_queues[i];
                mq->n_pkts = 0;
                mq->n_bytes = 0;
-               mq->n_err = 0;
        }
 }
 
@@ -1272,7 +1267,7 @@ rte_pmd_memif_probe(struct rte_vdev_device *vdev)
                eth_dev->dev_ops = &ops;
                eth_dev->device = &vdev->device;
                eth_dev->rx_pkt_burst = eth_memif_rx;
-               eth_dev->tx_pkt_burst = eth_memif_rx;
+               eth_dev->tx_pkt_burst = eth_memif_tx;
 
                if (!rte_eal_primary_proc_alive(NULL)) {
                        MIF_LOG(ERR, "Primary process is missing");