static int vmxnet3_dev_start(struct rte_eth_dev *dev);
static int vmxnet3_dev_stop(struct rte_eth_dev *dev);
static int vmxnet3_dev_close(struct rte_eth_dev *dev);
+static int vmxnet3_dev_reset(struct rte_eth_dev *dev);
static void vmxnet3_dev_set_rxmode(struct vmxnet3_hw *hw, uint32_t feature, int set);
static int vmxnet3_dev_promiscuous_enable(struct rte_eth_dev *dev);
static int vmxnet3_dev_promiscuous_disable(struct rte_eth_dev *dev);
.dev_start = vmxnet3_dev_start,
.dev_stop = vmxnet3_dev_stop,
.dev_close = vmxnet3_dev_close,
+ .dev_reset = vmxnet3_dev_reset,
.promiscuous_enable = vmxnet3_dev_promiscuous_enable,
.promiscuous_disable = vmxnet3_dev_promiscuous_disable,
.allmulticast_enable = vmxnet3_dev_allmulticast_enable,
return ret;
}
+static int
+vmxnet3_dev_reset(struct rte_eth_dev *dev)
+{
+ int ret;
+
+ ret = eth_vmxnet3_dev_uninit(dev);
+ if (ret)
+ return ret;
+ ret = eth_vmxnet3_dev_init(dev);
+ return ret;
+}
+
static void
vmxnet3_hw_tx_stats_get(struct vmxnet3_hw *hw, unsigned int q,
struct UPT1_TxStats *res)