> -----Original Message-----
> From: Bruce Richardson <bruce.richard...@intel.com>
> Sent: Tuesday, September 26, 2023 3:49 PM
> To: He, ShiyangX <shiyangx...@intel.com>
> Cc: dev@dpdk.org; Zhou, YidingX <yidingx.z...@intel.com>; Wang, Liang-
> min <liang-min.w...@intel.com>; Su, Simei <simei...@intel.com>; Wu,
> Wenjun1 <wenjun1...@intel.com>; Zhang, Yuying
> <yuying.zh...@intel.com>; Xing, Beilei <beilei.x...@intel.com>; Yang,
> Qiming <qiming.y...@intel.com>; Wu, Jingjing <jingjing...@intel.com>
> Subject: Re: [PATCH v3] net/iavf: add devargs to enable vf auto-reset
>
> On Fri, Sep 15, 2023 at 01:02:49PM +0000, Shiyang He wrote:
> > Originally, the iavf PMD does not perform special actions when it
> > receives a PF-to-VF reset event, resulting in vf being offline and
> > unavailable.
> >
> > This patch enables vf auto-reset by setting 'watchdog_period' devargs
> > to true. The iavf PMD will perform an automatic reset to bring the vf
> > back online when it receives a PF-to-VF event.
> >
> > v2: handling reset by event handler
> > v3: change reset process
> >
> > Signed-off-by: Shiyang He <shiyangx...@intel.com>
> > Signed-off-by: Liang-Min Larry Wang <liang-min.w...@intel.com>
> > ---
> > doc/guides/nics/intel_vf.rst | 3 +
> > doc/guides/rel_notes/release_23_11.rst | 3 +
> > drivers/net/iavf/iavf.h | 7 +++
> > drivers/net/iavf/iavf_ethdev.c | 86 +++++++++++++++++++++++---
> > drivers/net/iavf/iavf_rxtx.c | 52 ++++++++++------
> > drivers/net/iavf/iavf_vchnl.c | 11 +++-
> > 6 files changed, 135 insertions(+), 27 deletions(-)
> >
> > diff --git a/doc/guides/nics/intel_vf.rst
> > b/doc/guides/nics/intel_vf.rst index d365dbc185..c0acd2a7f5 100644
> > --- a/doc/guides/nics/intel_vf.rst
> > +++ b/doc/guides/nics/intel_vf.rst
> > @@ -101,6 +101,9 @@ For more detail on SR-IOV, please refer to the
> following documents:
> > Set ``devargs`` parameter ``watchdog_period`` to adjust the watchdog
> period in microseconds, or set it to 0 to disable the watchdog,
> > for example, ``-a 18:01.0,watchdog_period=5000`` or ``-a
> 18:01.0,watchdog_period=0``.
> >
> > + Enable vf auto-reset by setting the ``devargs`` parameter like ``-a
> 18:01.0,enable_auto_reset=1`` when IAVF is backed
> > + by an Intel(r) E810 device or an Intel(r) 700 Series Ethernet device.
> > +
>
> Why do we need a devargs for this? If the VF is unavailable - as you mention
> in the commit log above - should this behaviour not always be the case
> without the user having to ask?
Ideally it does not need, but with below considerations:
1. Not break existing scenario, which still assume some application will call
dev_reset /dev_configure/ queue_setup / ... after receive
RTE_ETH_EVENT_INTR_RESET event to recover the VF manually, the devargs make
sure application be aware of this new feature and will not call
rte_eth_dev_reset which will fail now.
2. intent to ensure a smoother transition, in case some corner case issues
evaded our validation, keeping this devargs provides us with the flexibility to
remove it once we determine that the implementation is stable enough.
>
> /Bruce