[dpdk-dev] [PATCH v6 1/4] ethdev: add support of NIC reset

Jerin Jacob jerin.jacob at caviumnetworks.com
Tue Jul 11 07:17:02 CEST 2017


-----Original Message-----
> Date: Tue, 11 Jul 2017 01:57:15 +0000
> From: "Dai, Wei" <wei.dai at intel.com>
> To: Jerin Jacob <jerin.jacob at caviumnetworks.com>
> CC: "thomas at monjalon.net" <thomas at monjalon.net>, "Lu, Wenzhuo"
>  <wenzhuo.lu at intel.com>, "Ananyev, Konstantin"
>  <konstantin.ananyev at intel.com>, "Wu, Jingjing" <jingjing.wu at intel.com>,
>  "Xing, Beilei" <beilei.xing at intel.com>, "dev at dpdk.org" <dev at dpdk.org>
> Subject: RE: [dpdk-dev] [PATCH v6 1/4] ethdev: add support of NIC reset
> 
> 
> > + * A DPDK application also can call this function to trigger an 
> > + initative
> > + * port reset.
> 
> When apart from the above use case? Even if it is above case, we should have some event to notify application to initiate the reset.Right? Without the event,  When or on what basics application needs to initiate reset?
> [Wei: Indeed, until now we didn't see any use case which DPDK application initiative port reset itself. 
> The most usual case is that PF is working with kernel driver and VFs are working with DPDK PMD.
> Some operations on kernel PF lead to a PF reset which causes its VF reset.
> Anyway this new function provides a possibility for application to trigger an initiative port reset.]

That's fine. The only concern part is when to call reset API from
application. Can we say on RTE_ETH_EVENT_INTR_RESET event, application
needs to call the reset API? I think, it is important to specify when
application need to call this API, otherwise this api behavior will be
tightly coupled with underneath PMD. Side effect is, a new, non portable PMD specific API.
If a PMD wishes to fixup some overflow case(as an example), by invoking the reset API from
the application BUT same case may not valid for another PMD hence it
will create unexpected behavior from application based on the underneath PMD.

if RTE_ETH_EVENT_INTR_RESET event is not expected event to call the
reset API then create a new event or if it needs to be called in
RTE_ETH_EVENT_INTR_RESET then update the API documentation.

> 
> > + *


More information about the dev mailing list