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;
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 *
}
}
- mq->n_err += nb_pkts - n_tx_pkts;
mq->n_pkts += n_tx_pkts;
return n_tx_pkts;
}
(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;
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;
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;
stats->q_obytes[i] = mq->n_bytes;
stats->opackets += mq->n_pkts;
stats->obytes += mq->n_bytes;
- stats->oerrors += mq->n_err;
}
return 0;
}
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;
}
}
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");