ethdev: add internal reset function
This is a helper for DPDK internal users to force a reconfiguration of a device. Signed-off-by: Jan Blunck <jblunck@infradead.org>
This commit is contained in:
parent
c3d3ba9892
commit
5c51e40445
@ -856,6 +856,22 @@ rte_eth_dev_configure(uint8_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
|
||||
return 0;
|
||||
}
|
||||
|
||||
void
|
||||
_rte_eth_dev_reset(struct rte_eth_dev *dev)
|
||||
{
|
||||
if (dev->data->dev_started) {
|
||||
RTE_PMD_DEBUG_TRACE(
|
||||
"port %d must be stopped to allow reset\n",
|
||||
dev->data->port_id);
|
||||
return;
|
||||
}
|
||||
|
||||
rte_eth_dev_rx_queue_config(dev, 0);
|
||||
rte_eth_dev_tx_queue_config(dev, 0);
|
||||
|
||||
memset(&dev->data->dev_conf, 0, sizeof(dev->data->dev_conf));
|
||||
}
|
||||
|
||||
static void
|
||||
rte_eth_dev_config_restore(uint8_t port_id)
|
||||
{
|
||||
|
@ -1913,6 +1913,19 @@ uint32_t rte_eth_speed_bitflag(uint32_t speed, int duplex);
|
||||
int rte_eth_dev_configure(uint8_t port_id, uint16_t nb_rx_queue,
|
||||
uint16_t nb_tx_queue, const struct rte_eth_conf *eth_conf);
|
||||
|
||||
/**
|
||||
* @internal
|
||||
* Release device queues and clear its configuration to force the user
|
||||
* application to reconfigure it. It is for internal use only.
|
||||
*
|
||||
* @param dev
|
||||
* Pointer to struct rte_eth_dev.
|
||||
*
|
||||
* @return
|
||||
* void
|
||||
*/
|
||||
void _rte_eth_dev_reset(struct rte_eth_dev *dev);
|
||||
|
||||
/**
|
||||
* Allocate and set up a receive queue for an Ethernet device.
|
||||
*
|
||||
|
@ -147,3 +147,10 @@ DPDK_16.11 {
|
||||
rte_eth_dev_pci_remove;
|
||||
|
||||
} DPDK_16.07;
|
||||
|
||||
DPDK_17.02 {
|
||||
global:
|
||||
|
||||
_rte_eth_dev_reset;
|
||||
|
||||
} DPDK_16.11;
|
||||
|
Loading…
x
Reference in New Issue
Block a user