ethdev: add NIC reset operation
authorWei Dai <wei.dai@intel.com>
Sun, 23 Jul 2017 09:15:09 +0000 (17:15 +0800)
committerThomas Monjalon <thomas@monjalon.net>
Wed, 13 Sep 2017 21:06:44 +0000 (23:06 +0200)
commit514302ff6e0022829e3dcf77d00813ecb4e85a68
treee7b38bb0a2478fb80da86fcc8e20f85b0f3fe9ad
parent06791a4bcedf3eb97f05c13debff90272e3b0d54
ethdev: add NIC reset operation

This patch adds a new eth_dev layer API function rte_eth_dev_reset(),
which a DPDK application can call to reset a NIC and keep its port id
afterwards. It means that all software resources allocated in the ethdev
layer are kept, and software & hardware resources of the NIC within the
NIC's PMD are reset to a state simular to that obtained by calling the
PCI dev_uninit() and then dev_init(). This effective sequence of
dev_uninit() and dev_init() is packed into a single API function
rte_eth_dev_reset().

Please see the comments before the declaration of rte_eht_dev_reset()
in lib/librte_ether/rte_ethdev.h to get more details on why this
function is needed, what it does, when it should be called
and what an application should do after calling this function.
See also detailed explanations in the programmer's guide.

Signed-off-by: Wei Dai <wei.dai@intel.com>
Reviewed-by: Remy Horton <remy.horton@intel.com>
doc/guides/prog_guide/poll_mode_drv.rst
lib/librte_ether/rte_ethdev.c
lib/librte_ether/rte_ethdev.h
lib/librte_ether/rte_ethdev_version.map