On Tue, Aug 18, 2026 at 04:57:25AM +0000, Anurag Mandal wrote: > V4-changes: > - Addressed Bruce Richardson's review comment on Patch-3 > - Removed Tx drain on link down > > V3-changes: > - Addressed Ciara Loftus's review comments on Fixes tag > - Added missing watchdog enable in Patch-6 > - Removed extra space in commit msg of Patch-5 > > V2-changes: > - Addressed Ciara Loftus's review comments. > - Split Watchdog and flow flush from other patches. > - Shortened multiple comments and commit msg > - Prevented iavf_resume_pending_start() looping > > During PF-initiated reset or a remote/ToR switch link-flap, the VF > might miss the reset event, race on the no_poll gate, leak in-flight > Tx descriptors, and stay down if dev_start ran before the PF VSI was > ready. > > This patch series build on the earlier reset-recovery fixes with the > following: > > - Reset detection: complement the ARQLEN1 check with VFGEN_RSTAT > (VIRTCHNL_VFR_INPROGRESS) and poll at a 5 ms interval, matching the > kernel iavf driver, so fast ARQ flips are not missed. When the VFR > is still not observed, recover anyway instead of bailing out, > keeping PF and VF state in sync. > > - no_poll: make the flag atomic (RTE_ATOMIC) with release/acquire > ordering so the data-plane lcores observe gate changes reliably. > > - Tx drain: add iavf_dev_tx_drain() to flush in-flight Tx descriptors > on impending-reset events before teardown, preventing > MDD events and descriptor leaks. > > - Deferred start: when dev_start fails during recovery (PF VSI inactive), > defer it via start_pending and resume on the next link-up event so the > VF comes back without manual intervention. > > - AdminQ: discard zeroed (opcode 0) descriptors seen during PF-initiated > resets to avoid the "Request 0 is not supported" log flood. > > - Watchdog: keep watchdog armed for the whole reset window > > - Flow flush: skip flow flush during PF-initiated reset > > Anurag Mandal (7): > net/iavf: discard empty AdminQ descriptors on reset > net/iavf: defer device start when PF VSI not ready > net/iavf: drain in-flight Tx before reset > net/iavf: change no_poll flag to atomic > net/iavf: improve VF reset detection on fast ARQ flip > net/iavf: keep watchdog armed for the whole reset window > net/iavf: skip flow flush during PF-initiated reset > Series applied to dpdk-next-net-intel.
Thanks, /Bruce

