linux/drivers/net/ethernet/intel/i40e
Jose Ignacio Tornos Martinez 74bbbc9359 i40e: skip unnecessary VF reset when setting trust
The current implementation triggers a VF reset when changing the trust
setting, causing a ~10 second delay during bonding setup.

In all the cases, the reset causes a ~10 second delay during which:
- VF must reinitialize completely
- Any in-progress operations (like bonding enslave) fail with timeouts
- VF is unavailable

When granting trust, no reset is needed - we can just set the capability
flag to allow privileged operations.

When revoking trust, we only need to reset (conservative approach) if
the VF has actually configured advanced features that require cleanup
(ADQ/cloud filters, promiscuous mode). For VFs in a clean state, we can
safely change the trust setting without the disruptive reset.

When we don't reset, we manually handle capability flag via helper
function, eliminating the delay.

Signed-off-by: Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
Tested-by: Rafal Romanowski <rafal.romanowski@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
2026-09-28 09:09:06 -07:00
..
i40e_adminq_cmd.h i40e: fix Jumbo Frame support after iPXE boot 2025-09-09 10:29:53 -07:00
i40e_adminq.c i40e: use libie adminq descriptors 2025-07-24 09:26:13 -07:00
i40e_adminq.h net/intel: Replace manual array size calculation with ARRAY_SIZE 2026-06-13 16:43:47 -07:00
i40e_alloc.h i40e: Move memory allocation structures to i40e_alloc.h 2023-10-05 09:13:42 -07:00
i40e_client.c Convert remaining multi-line kmalloc_obj/flex GFP_KERNEL uses 2026-02-22 08:26:33 -08:00
i40e_common.c virtchnl: move virtchnl and virtchnl2 headers to 'include/linux/net/intel' 2026-08-12 13:56:50 -07:00
i40e_dcb_nl.c i40e: use libie_aq_str 2025-07-24 09:45:43 -07:00
i40e_dcb.c i40e: use libie adminq descriptors 2025-07-24 09:26:13 -07:00
i40e_dcb.h i40e: Remove unused i40e_dcb_hw_get_num_tc 2025-01-06 13:31:49 -08:00
i40e_ddp.c i40e: Add helper to access main VSI 2024-04-30 09:33:05 -07:00
i40e_debug.h i40e: Fix i40e_debug() to use struct i40e_hw argument 2026-06-22 14:44:50 -07:00
i40e_debugfs.c Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
i40e_devids.h i40e: Add basic support for I710 devices 2022-09-06 12:49:00 -07:00
i40e_devlink.c devlink: pass extack through to devlink_param::get() 2025-11-20 19:01:22 -08:00
i40e_devlink.h i40e: Add initial devlink support 2023-10-15 14:33:41 +01:00
i40e_diag.c i40e: remove i40e_status 2023-07-31 14:37:25 -07:00
i40e_diag.h i40e: Include types.h to some headers 2024-01-18 09:52:52 -08:00
i40e_ethtool.c i40e: drop useless bitmap_weight() call in i40e_set_rxfh_fields() 2026-03-03 08:56:05 -08:00
i40e_hmc.c i40e: Remove circular header dependencies and fix headers 2023-10-05 09:18:09 -07:00
i40e_hmc.h i40e: Add missing wordpart.h header 2026-03-03 08:56:05 -08:00
i40e_io.h i40e: Split i40e_osdep.h 2023-10-05 09:13:43 -07:00
i40e_lan_hmc.c i40e: Remove circular header dependencies and fix headers 2023-10-05 09:18:09 -07:00
i40e_lan_hmc.h i40e: Remove circular header dependencies and fix headers 2023-10-05 09:18:09 -07:00
i40e_main.c net: intel: remove conditional return with no effect 2026-07-30 13:04:03 +02:00
i40e_nvm.c i40e: use libie_aq_str 2025-07-24 09:45:43 -07:00
i40e_prototype.h virtchnl: move virtchnl and virtchnl2 headers to 'include/linux/net/intel' 2026-08-12 13:56:50 -07:00
i40e_ptp.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2026-05-14 10:08:06 -07:00
i40e_register.h i40e: only timestamp PTP event packets 2026-05-02 19:12:46 -07:00
i40e_trace.h i40e: Fix preempt count leak in napi poll tracepoint 2026-02-25 11:43:57 -08:00
i40e_txrx_common.h i40e: Remove circular header dependencies and fix headers 2023-10-05 09:18:09 -07:00
i40e_txrx.c net: Use helpers to get/set UDP len tree-wide 2026-07-22 13:47:02 +02:00
i40e_txrx.h net: intel: move RSS packet classifier types to libie 2025-06-09 09:56:18 -07:00
i40e_type.h i40e: use libie adminq descriptors 2025-07-24 09:26:13 -07:00
i40e_virtchnl_pf.c i40e: skip unnecessary VF reset when setting trust 2026-09-28 09:09:06 -07:00
i40e_virtchnl_pf.h virtchnl: move virtchnl and virtchnl2 headers to 'include/linux/net/intel' 2026-08-12 13:56:50 -07:00
i40e_xsk.c i40e: use generic unrolled_count() macro 2025-02-10 17:54:43 -08:00
i40e_xsk.h i40e: use generic unrolled_count() macro 2025-02-10 17:54:43 -08:00
i40e.h virtchnl: move virtchnl and virtchnl2 headers to 'include/linux/net/intel' 2026-08-12 13:56:50 -07:00
Makefile net: intel: Use *-y instead of *-objs in Makefile 2024-06-10 19:52:44 -07:00