[dpdk-dev] [PATCH v6 1/4] lib/librte_ether: support device reset

Stephen Hemminger stephen at networkplumber.org
Mon Jun 20 18:17:14 CEST 2016

On Mon, 20 Jun 2016 14:44:11 +0530
Jerin Jacob <jerin.jacob at caviumnetworks.com> wrote:

> On Mon, Jun 20, 2016 at 02:24:27PM +0800, Wenzhuo Lu wrote:
> > Add an API to reset the device.
> > It's for VF device in this scenario, kernel PF + DPDK VF.
> > When the PF port down->up, APP should call this API to
> > reset VF port. Most likely, APP should call it in its
> > management thread and guarantee the thread safe. It means
> > APP should stop the rx/tx and the device, then reset the
> > device, then recover the device and rx/tx.
> Following is _a_ use-case for Device reset. But may be not be _the_ use
> case. IMO, We need to first say expected behavior of this API and add a use-case
> later.
> Other use-case would be, PCIe VF with functional level reset for SRIOV
> migration.
> Are we on same page?

In my experience with Linux devices, this is normally handled by the
device driver in the start routine.  Since any use case which needs
this is going to do a stop/reset/start sequence, why not just have
the VF device driver do this in the start routine?.

Adding yet another API and state transistion if not necessary increases
the complexity and required test cases for all devices.

More information about the dev mailing list