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

Reply via email to