static int ionic_dev_configure(struct rte_eth_dev *dev);
static int ionic_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu);
static int ionic_dev_start(struct rte_eth_dev *dev);
-static void ionic_dev_stop(struct rte_eth_dev *dev);
+static int ionic_dev_stop(struct rte_eth_dev *dev);
static int ionic_dev_close(struct rte_eth_dev *dev);
static int ionic_dev_set_link_up(struct rte_eth_dev *dev);
static int ionic_dev_set_link_down(struct rte_eth_dev *dev);
/*
* Stop device: disable rx and tx functions to allow for reconfiguring.
*/
-static void
+static int
ionic_dev_stop(struct rte_eth_dev *eth_dev)
{
struct ionic_lif *lif = IONIC_ETH_DEV_TO_LIF(eth_dev);
err = ionic_lif_stop(lif);
if (err)
IONIC_PRINT(ERR, "Cannot stop LIF: %d", err);
+
+ return err;
}
/*
int err;
IONIC_PRINT_CALL();
+ if (rte_eal_process_type() != RTE_PROC_PRIMARY)
+ return 0;
err = ionic_lif_stop(lif);
if (err) {
return 0;
rte_eth_copy_pci_info(eth_dev, pci_dev);
+ eth_dev->data->dev_flags |= RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS;
lif->index = adapter->nlifs;
lif->eth_dev = eth_dev;
ionic_lif_deinit(lif);
ionic_lif_free(lif);
- eth_dev->dev_ops = NULL;
- eth_dev->rx_pkt_burst = NULL;
- eth_dev->tx_pkt_burst = NULL;
- eth_dev->tx_pkt_prepare = NULL;
-
return 0;
}