iavf_get_net..._hw_features(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… iavf_get_net..._hw_features(9) πŸ’…

okay so first things first β€” this is a page from the Kernel API Manual (yes, the big serious kernel one, we're being fancy today πŸŽ€), and the whole thing is about one little function that decides which VLAN things ur netdev is allowed to flip on and off. bestie, it's giving "small function, big vibes." let's get into it ✨


🌸 NAME 🌸

iavf_get_netdev_vlan_hw_features β€” literally just: grab the NETDEV VLAN features that can be toggled on/off. that's it. that's the whole job πŸ’–


πŸ¦‹ SYNOPSIS πŸ¦‹

netdev_features_t iavf_get_netdev_vlan_hw_features (struct iavf_adapter
*adapter );

like, you hand it an adapter and it hands you back a netdev_features_t. simple. iconic. no notes πŸ‘‘


πŸŽ€ ARGUMENTS πŸŽ€

  • adapter β€” the board private structure πŸ’… (this is the iavf adapter thingy, the main character of the whole driver, no cap)

✨ DESCRIPTION ✨

so here's the tea β˜•: this function looks at which VLAN offload got negotiated β€” was it VIRTHCNL_VF_OFFLOAD_VLAN, or was it VIRTCHNL_VF_OFFLOAD_VLAN_V2? (yes, the spelling really is like that in the original, we do not fix, we do not touch, we respect the ancestors πŸ™ˆ)

and based on which one of those two was the one that got negotiated, it determines the VLAN features that can be toggled on and off. toggled. on. and. off. πŸ”

that's the whole description, she's short and she knows it πŸ’€

note: copy those two macro names exactly as written above if you're typing them out β€” one of them has a little spelling gremlin in it and that gremlin is load-bearing 🧚

πŸ”₯ SEE ALSO πŸ”₯

the source lives in the kernel file ./drivers/net/ethernet/intel/iavf/iavf_main.c β€” go say hi 🫢

and now, the guest list. it's long. it's gorgeous. it's giving "the whole extended friend group showed up to the function's birthday party." every single one of these is a real 9th-section reference, and yes, we're listing all of them, because skipping any would be a crime and we don't do crimes 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_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_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… go read them all, bestie, they're all friends of this function and honestly some of them have main character energy too πŸ‘‘


okay that's the page!! mwah πŸ’‹ she comes from ./drivers/net/ethernet/intel/iavf and she's stamped October 2026 β€” yes, October 2026, we're documenting from the future, time travel slay ⏰✨ bye bestie, drink some water and don't forget to toggle responsibly πŸŒΈπŸ«ΆπŸ’œ

πŸ“¦ where this page comes from