iavf_reconfig_qs_bw(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… iavf_reconfig_qs_bw(9) β€” a Kernel API Manual moment ✨

okay bestie, buckle up, this one lives in the Kernel API Manual and it's honestly kinda iconic in a "quietly doing important background work" way πŸŽ€


🌸 NAME 🌸

iavf_reconfig_qs_bw β€” the call-back task that handles a hardware reset 🫢


✨ SYNOPSIS ✨

void iavf_reconfig_qs_bw (struct iavf_adapter *adapter );

that's it. that's the whole signature. no return value, no drama, just vibes and a void πŸ’€


πŸ¦‹ ARGUMENTS πŸ¦‹

  • adapter β€” the board private structure πŸ’– (yes, that's literally what it is, she's the main character struct holding all the board's private business)

🌈 DESCRIPTION 🌈

so here's the tea β˜•: after a reset goes down, the shaper parameters of the queues need to be replayed again. like, they already happened once, and now we're doing an encore. slay.

and the reason it's lowkey cute is this β€” the net_shaper object inside the TX rings persists across reset (it does not get wiped, she survives πŸ’…). so because it's still chilling there, all this function has to do is set the update flag for all the queues, which means the virtchnl message gets triggered for all queues. periodt. no cap, that's the whole job ✨


πŸ‘‘ SEE ALSO πŸ‘‘

the kernel file in question, bestie: ./drivers/net/ethernet/intel/iavf/iavf_main.c πŸ“

and now, the guest list β€” it's long, it's stacked, everyone's here:

iavf_pdev_to_adapter(9), iavf_is_reset_in_progress(9), iavf_allocate_dma_mem_d(9), iavf_free_dma_mem(9), iavf_allocate_virt_mem(9), iavf_free_virt_mem(9), iavf_schedule_reset(9), iavf_schedule_aq_request(9), iavf_tx_timeout(9), iavf_misc_irq_disable(9), iavf_misc_irq_enable(9), iavf_irq_disable(9), iavf_irq_enable_queues(9), iavf_irq_enable(9), iavf_msix_aq(9), iavf_msix_clean_rings(9), iavf_map_vector_to_rxq(9), iavf_map_vector_to_txq(9), iavf_map_rings_to_vectors(9), iavf_request_traffic_irqs(9), iavf_request_misc_irq(9), iavf_free_traffic_irqs(9), iavf_free_misc_irq(9), iavf_configure_tx(9), iavf_select_rx_desc_format(9), iavf_configure_rx(9), iavf_find_vlan(9), iavf_add_vlan(9), iavf_del_vlan(9), iavf_get_num_vlans_added(9), iavf_get_max_vlans_allowed(9), iavf_max_vlans_added(9), iavf_vlan_rx_add_vid(9), iavf_vlan_rx_kill_vid(9), iavf_find_filter(9), iavf_add_filter(9), iavf_replace_primary_mac(9), iavf_is_mac_set_handled(9), iavf_mac_change_done(9), iavf_set_mac_sync(9), iavf_set_mac(9), iavf_addr_sync(9), iavf_addr_unsync(9), iavf_promiscuous_mode_changed(9), iavf_set_rx_mode(9), iavf_napi_enable_all(9), iavf_napi_disable_all(9), iavf_configure(9), iavf_up_complete(9), iavf_clear_mac_filters(9), iavf_clear_cloud_filters(9), iavf_clear_fdir_filters(9), iavf_clear_adv_rss_conf(9), iavf_down(9), iavf_acquire_msix_vectors(9), iavf_free_queues(9), iavf_set_queue_vlan_tag_loc(9), iavf_alloc_queues(9), iavf_set_interrupt_capability(9), iavf_config_rss_aq(9), iavf_config_rss_reg(9), iavf_config_rss(9), iavf_fill_rss_lut(9), iavf_init_rss(9), iavf_alloc_q_vectors(9), iavf_free_q_vectors(9), iavf_reset_interrupt_capability(9), iavf_init_interrupt_scheme(9), iavf_free_interrupt_scheme(9), iavf_free_rss(9), iavf_reinit_interrupt_scheme(9), iavf_finish_config(9), iavf_schedule_finish_config(9), iavf_process_aq_command(9), iavf_set_vlan_offload_features(9), iavf_startup(9), iavf_init_version_check(9), iavf_parse_vf_resource_msg(9), iavf_init_get_resources(9), iavf_init_send_offload_vlan_v2_caps(9), iavf_init_recv_offload_vlan_v2_caps(9), iavf_init_send_supported_rxdids(9), iavf_init_recv_supported_rxdids(9), iavf_init_send_ptp_caps(9), iavf_init_recv_ptp_caps(9), iavf_init_process_extended_caps(9), iavf_init_config_adapter(9), iavf_disable_vf(9), iavf_reset_step(9), iavf_adminq_task(9), iavf_free_all_tx_resources(9), iavf_setup_all_tx_resources(9), iavf_setup_all_rx_resources(9), iavf_free_all_rx_resources(9), iavf_validate_tx_bandwidth(9), iavf_validate_ch_config(9), iavf_del_all_cloud_filters(9), iavf_is_tc_config_same(9), __iavf_setup_tc(9), iavf_parse_cls_flower(9), iavf_handle_tclass(9), iavf_find_cf(9), iavf_configure_clsflower(9), iavf_delete_clsflower(9), iavf_setup_tc_cls_flower(9), iavf_add_cls_u32(9), iavf_del_cls_u32(9), iavf_setup_tc_cls_u32(9), iavf_setup_tc_block_cb(9), iavf_setup_tc(9), iavf_restore_fdir_filters(9), iavf_open(9), iavf_close(9), iavf_change_mtu(9), iavf_disable_fdir(9), iavf_set_features(9), iavf_features_check(9), iavf_get_netdev_vlan_hw_features(9), iavf_get_netdev_vlan_features(9), iavf_fix_netdev_vlan_features(9), iavf_fix_strip_features(9), iavf_fix_features(9), iavf_check_reset_complete(9), iavf_process_config(9), iavf_probe(9), iavf_suspend(9), iavf_resume(9), iavf_remove(9), iavf_shutdown(9), iavf_init_module(9), iavf_exit_module(9)

like I said. everyone showed up. ate and left no crumbs πŸ”₯


ngl bestie, if you got this far you're officially a kernel girlie now. go touch some registers πŸ’œ

and that's a wrap on the iavf_reconfig_qs_bw(9) page πŸ’– sourced from ./drivers/net/ethernet/intel/iavf, dated October 2026 β€” mwah, stan this driver for clear skin βœ¨πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from