ice_lag_prepare_vf_reset(9)
π ice_lag_prepare_vf_reset(9)
okay so this is a page from the Kernel API Manual β yes, the actual kernel man pages, and yes, we're gonna make it cute. Bestie, this is a helper function whose whole vibe is adjusting the VF lag so it's ready for a reset. That's it. That's the job. She's a little support-system icon and we love her for it π
β¨ NAME β¨
ice_lag_prepare_vf_reset β the helper that adjusts the VF lag for a reset π¦
Like, it's not the main character, it's the best friend who shows up with the emotional support and makes sure everything's in place before the big reset moment. Lowkey essential, highkey underrated.
πΈ SYNOPSIS πΈ
u8 ice_lag_prepare_vf_reset (struct ice_lag *lag );
That's the whole signature, periodt. Returns a u8 and takes one pointer to a struct ice_lag. Clean, simple, no drama π
π«Ά ARGUMENTS π«Ά
lagβ the lag struct for the interface that owns the VF. she's the one carrying all the context, so hand her over correctly, k?
π₯ CONTEXT π₯
must be called with the lag_mutex lock held.
not me stressing this but FR FR: you MUST be holding the lag_mutex lock when you call this. No cap. Don't skip it, don't get cute with it, just hold the lock. Lock discipline is the vibe check here π
π RETURN π
Returns the active lport value β or ICE_LAG_INVALID_PORT if nothing moved.
So basically: you get a real port back when something actually changed, and you get ICE_LAG_INVALID_PORT when nothing did. Either way you know what's up β¨
π SEE ALSO π
First up, the source herself:
- Kernel file
./drivers/net/ethernet/intel/ice/ice_lag.c
and then the whole friend group, because this function literally does not exist in isolation:
ice_lag_set_primary(9)ice_lag_set_bkup(9)netif_is_same_ice(9)ice_lag_config_eswitch(9)ice_netdev_to_lag(9)ice_lag_find_hw_by_lport(9)ice_pkg_has_lport_extract(9)ice_lag_find_primary(9)ice_lag_cfg_fltr(9)ice_lag_cfg_dflt_fltr(9)ice_lag_cfg_drop_fltr(9)ice_lag_cfg_pf_fltrs_act_bkup(9)ice_lag_cfg_lp_fltr(9)ice_lag_cfg_pf_fltrs(9)ice_display_lag_info(9)ice_lag_qbuf_recfg(9)ice_lag_get_sched_parent(9)ice_lag_move_vf_node_tc(9)ice_lag_build_netdev_list(9)ice_lag_destroy_netdev_list(9)ice_lag_move_single_vf_nodes(9)ice_lag_move_vf_nodes(9)ice_lag_move_vf_nodes_cfg(9)ice_lag_complete_vf_reset(9)ice_lag_info_event(9)ice_lag_aa_qbuf_recfg(9)ice_lag_aa_move_vf_qs(9)ice_lag_aa_failover(9)ice_lag_reclaim_vf_tc(9)ice_lag_reclaim_vf_nodes(9)ice_lag_link(9)ice_lag_act_bkup_unlink(9)ice_lag_aa_unlink(9)ice_lag_link_unlink(9)ice_lag_set_swid(9)ice_lag_primary_swid(9)ice_lag_add_prune_list(9)ice_lag_del_prune_list(9)ice_lag_init_feature_support_flag(9)ice_lag_changeupper_event(9)ice_lag_monitor_link(9)ice_lag_monitor_act_bkup(9)ice_lag_aa_clear_spoof(9)ice_lag_monitor_act_act(9)ice_lag_monitor_info(9)ice_lag_chk_comp(9)ice_lag_unregister(9)ice_lag_monitor_rdma(9)ice_lag_chk_disabled_bond(9)ice_lag_disable_sriov_bond(9)ice_lag_preset_drop_fltr(9)ice_lag_process_event(9)ice_lag_event_handler(9)ice_register_lag_handler(9)ice_unregister_lag_handler(9)ice_create_lag_recipe(9)ice_lag_move_vf_nodes_tc_sync(9)ice_lag_move_vf_nodes_sync(9)ice_init_lag(9)ice_deinit_lag(9)ice_lag_rebuild(9)ice_lag_is_switchdev_running(9)
okay that's the entire extended universe, go read them all, iykyk πβ¨
and that's the page!! huge shoutout to the ./drivers/net/ethernet/intel/ice directory, dated October 2026 β the source and its era, living rent free in the footer so I could tell you about it here instead π§π slay, bye π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms