iavf_set_vla...oad_features(9)
π iavf_set_vlan_offload_features π
okay so bestie, welcome to the Kernel API Manual (section 9, the function-y one) β this page is literally all about iavf_set_vlan_offload_features, and it's giving "small helper, big responsibilities" energy fr fr.
πΈ NAME πΈ
iavf_set_vlan_offload_features β set VLAN offload configuration π
β¨ SYNOPSIS β¨
void iavf_set_vlan_offload_features (struct iavf_adapter *adapter ,
netdev_features_t prev_features , netdev_features_t features );
π¦ ARGUMENTS π¦
adapterβ the board private structure π like, the adapter's own little private stash of stuff.prev_featuresβ the previous features, used for comparison π (yes, it's the "before" picture).featuresβ the updated features, used for configuration β¨ (the "after" picture, and the one that actually drives the setup).
π₯ DESCRIPTION π₯
So here's the vibe: this function sets the aq_required bit(s) based on the requested features you pass in, and it uses those to configure VLAN stripping and/or VLAN insertion if supported π. If the hardware doesn't support it, it's simply not supported β no cap.
It also schedules the watchdog if any changes are requested, so the request gets expedited via virtchnl π. Like, no sitting around, the watchdog is on it.
ngl the whole point is: features come in, bits get set, watchdog gets scheduled, and virtchnl hears about it ASAP ππ
π§ SEE ALSO π§
the way this list just keeps goingβ¦ grab a snack bestie, we're listing everyone π
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_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_reconfig_qs_bw(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)
and if you wanna read the source itself, it lives at ./drivers/net/ethernet/intel/iavf/iavf_main.c π
mwah π this page is brought to you by the ./drivers/net/ethernet/intel/iavf girlies, October 2026 era β go read the whole squad of iavf_* functions, they ate πβ¨
π¦ 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