Public bug reported:

[ Impact ]

 * In the i40e driver, every VF link state change request is causing a VF reset,
   even if the requested change is already set. This leads to unnecessary VF
   resets and can cause performance degradation or instability in the VF
   driver, particularly in DPDK environments.

 * With the proposed patch, i40e will skip VF link state change requests when 
the
   desired link state matches the current configuration. This prevents
   unnecessary VF resets and reduces PF-VF communication overhead.

 * The issue was originally detected by analyzing DPDK VF driver issues during
   OpenStack Neutron restarts. In such cases, i40e will issue an unnecessary VF
   reset request which causes instability in the DPDK driver. 


[ Test Plan ]

 * The issue can be reproduced by triggering VF link state changes multiple 
times
   with the same requested link state.

 * To reproduce the problem, run the following command multiple times
   on the same interface: 'ip link set <ifname> vf 0 state auto'.
   Every time the command is executed, the PF driver will trigger a VF reset.

 * Monitor for VF reset events using dmesg or appropriate logging mechanisms
   to confirm the issue and verify the fix.

 * Regression testing should include:
   - Verify normal VF link state changes still work correctly when state 
actually changes
   - Validate that legitimate state changes still trigger resets when needed

[ Where problems could occur ]

 * Changes only affect the i40e .ndo_set_vf_link_state routine. In case
   of any regressions, only the ability to set VF link state changes could be
   impacted.

 * The patch was verified locally and passed Intel internal test
execution.

 * Potential failure modes:
   - Logic error in state comparison could prevent legitimate state changes
   - Incorrect state tracking could lead to inconsistent VF behavior

 * Risk mitigation:
   - The change is isolated to a specific code path in the i40e driver
   - Existing VF functionality remains unchanged when state changes are needed
   - The patch adds a simple comparison check before existing link change 
routine

[ Other Info ]

 * At the time of writing this document, the target patch is still in the 
net-next
   tree and has not yet been merged into mainline.

 * Patch: a7ae783da0b919550e260aebfca1c6ef030b99a4 from netdev/net-next

 * Patch applies on most versions without any conflicts

 * No dependencies on other patches

 * Mainline status: Patch is currently in net-next tree, awaiting mainline merge
 
 * Backport requirements: Patch should apply cleanly to Ubuntu kernel versions

 * VF reset during link state change was added as a part of
31deb12e85c35ddd2c037f0107d05d8674cab2c0 (upstream) commit, which is
included in the Kernels starting from 5.15

** Affects: linux (Ubuntu)
     Importance: Undecided
         Status: New

** Affects: linux (Ubuntu Jammy)
     Importance: Undecided
         Status: New

** Affects: linux (Ubuntu Noble)
     Importance: Undecided
         Status: New

** Affects: linux (Ubuntu Plucky)
     Importance: Undecided
         Status: New

** Affects: linux (Ubuntu Questing)
     Importance: Undecided
         Status: New

** Affects: linux (Ubuntu Resolute)
     Importance: Undecided
         Status: New

** Also affects: linux (Ubuntu Resolute)
   Importance: Undecided
       Status: New

** Also affects: linux (Ubuntu Noble)
   Importance: Undecided
       Status: New

** Also affects: linux (Ubuntu Jammy)
   Importance: Undecided
       Status: New

** Also affects: linux (Ubuntu Plucky)
   Importance: Undecided
       Status: New

** Also affects: linux (Ubuntu Questing)
   Importance: Undecided
       Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2130552

Title:
  i40e driver is triggering VF resets on every link state change

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2130552/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to