You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
According to @tootoonchian, in the deinit() function of the PMD driver should do something more than just calling rte_eth_dev_stop(). I suspect rte_eth_dev_stop() is enough for physical PMDs, but for virtual PMDs (e.g., bonding) we need explicit resource deallocation.
The text was updated successfully, but these errors were encountered:
Two reasons I do this (i.e., rte_eth_dev_close() + rte_eth_dev_detach() after rte_eth_dev_stop()):
As you said, with virtual PMDs stopping the port is not enough to attach to it again later.
I can safely change the physical port's driver after detaching if the driver has hotplug support.
We can guard the rte_eth_dev_detach() call with a check similar to lib/librte_ethdev/rte_ethdev.c > rte_eth_dev_is_detachable() (which is not public), or just call it and have its internal check fail in which case it logs an error and does nothing.
According to @tootoonchian, in the deinit() function of the PMD driver should do something more than just calling rte_eth_dev_stop(). I suspect rte_eth_dev_stop() is enough for physical PMDs, but for virtual PMDs (e.g., bonding) we need explicit resource deallocation.
The text was updated successfully, but these errors were encountered: