i40e_setup_macvlans(9)
π i40e_setup_macvlans(9) π
okay bestie, real talk β this one's from the Kernel API Manual, section 9, and it's the page for i40e_setup_macvlans. It's short, it's sweet, and it will absolutely come up if you're poking at the i40e driver. Let's get into it π«Ά
β¨ NAME β¨
i40e_setup_macvlans β create the channels which will be macvlans
πΈ SYNOPSIS πΈ
int i40e_setup_macvlans (struct i40e_vsi *vsi , u16 macvlan_cnt , u16 qcnt , struct net_device *vdev );
π ARGUMENTS π
vsiβ the VSI we want to access β¨macvlan_cntβ no. of macvlans to be setup π«qcntβ no. of Qs per macvlan π§vdevβ macvlan netdevice π
π SEE ALSO π
first up, the kernel file this whole thing lives in:
./drivers/net/ethernet/intel/i40e/i40e_main.c
and then, bestie⦠the whole extended fam 𫢠(yes, all of them, no cap):
i40e_hw_to_dev(9)i40e_allocate_dma_mem(9)i40e_free_dma_mem(9)i40e_allocate_virt_mem(9)i40e_free_virt_mem(9)i40e_get_lump(9)i40e_put_lump(9)i40e_find_vsi_from_id(9)i40e_service_event_schedule(9)i40e_tx_timeout(9)i40e_get_vsi_stats_struct(9)i40e_get_netdev_stats_struct_tx(9)i40e_get_netdev_stats_struct(9)i40e_vsi_reset_stats(9)i40e_pf_reset_stats(9)i40e_compute_pci_to_hw_id(9)i40e_stat_update64(9)i40e_stat_update48(9)i40e_stat_update32(9)i40e_stat_update_and_clear32(9)i40e_stats_update_rx_discards(9)i40e_update_eth_stats(9)i40e_update_veb_stats(9)i40e_update_vsi_stats(9)i40e_update_pf_stats(9)i40e_update_stats(9)i40e_count_all_filters(9)i40e_count_active_filters(9)i40e_find_filter(9)i40e_find_mac(9)i40e_is_vsi_in_vlan(9)i40e_correct_mac_vlan_filters(9)i40e_get_vf_new_vlan(9)i40e_correct_vf_mac_vlan_filters(9)i40e_rm_default_mac_filter(9)i40e_add_filter(9)__i40e_del_filter(9)i40e_add_mac_filter(9)i40e_del_mac_filter(9)i40e_set_mac(9)i40e_config_rss_aq(9)i40e_vsi_config_rss(9)i40e_vsi_setup_queue_map_mqprio(9)i40e_vsi_setup_queue_map(9)i40e_addr_sync(9)i40e_addr_unsync(9)i40e_set_rx_mode(9)i40e_undo_del_filter_entries(9)i40e_undo_add_filter_entries(9)i40e_next_filter(9)i40e_update_filter_state(9)i40e_aqc_del_filters(9)i40e_aqc_add_filters(9)i40e_aqc_broadcast_filter(9)i40e_set_promiscuous(9)i40e_sync_vsi_filters(9)i40e_sync_filters_subtask(9)i40e_calculate_vsi_rx_buf_len(9)i40e_max_vsi_frame_size(9)i40e_change_mtu(9)i40e_vlan_stripping_enable(9)i40e_vlan_stripping_disable(9)i40e_add_vlan_all_mac(9)i40e_vsi_add_vlan(9)i40e_rm_vlan_all_mac(9)i40e_vsi_kill_vlan(9)i40e_vlan_rx_add_vid(9)i40e_vlan_rx_add_vid_up(9)i40e_vlan_rx_kill_vid(9)i40e_restore_vlan(9)i40e_vsi_add_pvid(9)i40e_vsi_remove_pvid(9)i40e_vsi_setup_tx_resources(9)i40e_vsi_free_tx_resources(9)i40e_vsi_setup_rx_resources(9)i40e_vsi_free_rx_resources(9)i40e_config_xps_tx_ring(9)i40e_xsk_pool(9)i40e_configure_tx_ring(9)i40e_rx_offset(9)i40e_configure_rx_ring(9)i40e_vsi_configure_tx(9)i40e_vsi_configure_rx(9)i40e_vsi_config_dcb_rings(9)i40e_set_vsi_rx_mode(9)i40e_reset_fdir_filter_cnt(9)i40e_fdir_filter_restore(9)i40e_vsi_configure(9)i40e_vsi_configure_msix(9)i40e_enable_misc_int_causes(9)i40e_configure_msi_and_legacy(9)i40e_irq_dynamic_disable_icr0(9)i40e_irq_dynamic_enable_icr0(9)i40e_msix_clean_rings(9)i40e_irq_affinity_notify(9)i40e_irq_affinity_release(9)i40e_vsi_request_irq_msix(9)i40e_vsi_disable_irq(9)i40e_vsi_enable_irq(9)i40e_free_misc_vector(9)i40e_intr(9)i40e_clean_fdir_tx_irq(9)i40e_fdir_clean_ring(9)i40e_map_vector_to_qp(9)i40e_vsi_map_rings_to_vectors(9)i40e_vsi_request_irq(9)i40e_netpoll(9)i40e_pf_txq_wait(9)i40e_control_tx_q(9)i40e_control_wait_tx_q(9)i40e_vsi_enable_tx(9)i40e_pf_rxq_wait(9)i40e_control_rx_q(9)i40e_control_wait_rx_q(9)i40e_vsi_enable_rx(9)i40e_vsi_start_rings(9)i40e_vsi_stop_rings(9)i40e_vsi_stop_rings_no_wait(9)i40e_vsi_free_irq(9)i40e_free_q_vector(9)i40e_vsi_free_q_vectors(9)i40e_reset_interrupt_capability(9)i40e_clear_interrupt_scheme(9)i40e_napi_enable_all(9)i40e_napi_disable_all(9)i40e_vsi_close(9)i40e_quiesce_vsi(9)i40e_unquiesce_vsi(9)i40e_pf_quiesce_all_vsi(9)i40e_pf_unquiesce_all_vsi(9)i40e_vsi_wait_queues_disabled(9)i40e_pf_wait_queues_disabled(9)i40e_get_iscsi_tc_map(9)i40e_dcb_get_num_tc(9)i40e_dcb_get_enabled_tc(9)i40e_mqprio_get_enabled_tc(9)i40e_pf_get_num_tc(9)i40e_pf_get_tc_map(9)i40e_vsi_get_bw_info(9)i40e_vsi_configure_bw_alloc(9)i40e_vsi_config_netdev_tc(9)i40e_vsi_update_queue_map(9)i40e_update_adq_vsi_queues(9)i40e_vsi_config_tc(9)i40e_vsi_reconfig_tc(9)i40e_get_link_speed(9)i40e_bw_bytes_to_mbits(9)i40e_set_bw_limit(9)i40e_remove_queue_channels(9)i40e_get_max_queues_for_channel(9)i40e_validate_num_queues(9)i40e_vsi_reconfig_rss(9)i40e_channel_setup_queue_map(9)i40e_add_channel(9)i40e_channel_config_tx_ring(9)i40e_setup_hw_channel(9)i40e_setup_channel(9)i40e_validate_and_set_switch_mode(9)i40e_create_queue_channel(9)i40e_configure_queue_channels(9)i40e_veb_config_tc(9)i40e_dcb_reconfigure(9)i40e_resume_port_tx(9)i40e_suspend_port_tx(9)i40e_hw_set_dcb_config(9)i40e_hw_dcb_config(9)i40e_dcb_sw_default_config(9)i40e_init_pf_dcb(9)i40e_print_link_message(9)i40e_up_complete(9)i40e_vsi_reinit_locked(9)i40e_force_link_state(9)i40e_up(9)i40e_down(9)i40e_validate_mqprio_qopt(9)i40e_vsi_set_default_tc_config(9)i40e_del_macvlan_filter(9)i40e_add_macvlan_filter(9)i40e_reset_ch_rings(9)i40e_free_macvlan_channels(9)i40e_fwd_ring_up(9)i40e_fwd_add(9)i40e_del_all_macvlans(9)i40e_fwd_del(9)i40e_setup_tc(9)i40e_set_cld_element(9)i40e_add_del_cloud_filter(9)i40e_add_del_cloud_filter_big_buf(9)i40e_parse_cls_flower(9)i40e_handle_tclass(9)i40e_configure_clsflower(9)i40e_find_cloud_filter(9)i40e_delete_clsflower(9)i40e_setup_tc_cls_flower(9)i40e_open(9)i40e_netif_set_realnum_tx_rx_queues(9)i40e_vsi_open(9)i40e_fdir_filter_exit(9)i40e_cloud_filter_exit(9)i40e_close(9)i40e_do_reset(9)i40e_dcb_need_reconfig(9)i40e_handle_lldp_event(9)i40e_do_reset_safe(9)i40e_handle_lan_overflow_event(9)i40e_get_current_fd_count(9)i40e_get_global_fd_count(9)i40e_reenable_fdir_sb(9)i40e_reenable_fdir_atr(9)i40e_delete_invalid_filter(9)i40e_fdir_check_and_reenable(9)i40e_fdir_flush_and_replay(9)i40e_get_current_atr_cnt(9)i40e_fdir_reinit_subtask(9)i40e_vsi_link_event(9)i40e_veb_link_event(9)i40e_link_event(9)i40e_watchdog_subtask(9)i40e_reset_subtask(9)i40e_handle_link_event(9)i40e_clean_adminq_subtask(9)i40e_verify_eeprom(9)i40e_enable_pf_switch_lb(9)i40e_disable_pf_switch_lb(9)i40e_config_bridge_mode(9)i40e_reconstitute_veb(9)i40e_get_capabilities(9)i40e_fdir_sb_setup(9)i40e_fdir_teardown(9)i40e_rebuild_cloud_filters(9)i40e_rebuild_channels(9)i40e_clean_xps_state(9)i40e_prep_for_reset(9)i40e_send_version(9)i40e_get_oem_version(9)i40e_reset(9)i40e_rebuild(9)i40e_reset_and_rebuild(9)i40e_handle_reset_warning(9)i40e_print_vf_mdd_event(9)i40e_print_vfs_mdd_events(9)i40e_handle_mdd_event(9)i40e_service_task(9)i40e_service_timer(9)i40e_set_num_rings_in_vsi(9)i40e_vsi_alloc_arrays(9)i40e_vsi_mem_alloc(9)i40e_vsi_free_arrays(9)i40e_clear_rss_config_user(9)i40e_vsi_clear(9)i40e_vsi_clear_rings(9)i40e_alloc_rings(9)i40e_reserve_msix_vectors(9)i40e_init_msix(9)i40e_vsi_alloc_q_vector(9)i40e_vsi_alloc_q_vectors(9)i40e_init_interrupt_scheme(9)i40e_restore_interrupt_scheme(9)i40e_setup_misc_vector_for_recovery_mode(9)i40e_setup_misc_vector(9)i40e_get_rss_aq(9)i40e_config_rss_reg(9)i40e_get_rss_reg(9)i40e_config_rss(9)i40e_get_rss(9)i40e_fill_rss_lut(9)i40e_pf_config_rss(9)i40e_reconfig_rss_queues(9)i40e_get_partition_bw_setting(9)i40e_set_partition_bw_setting(9)i40e_is_total_port_shutdown_enabled(9)i40e_sw_init(9)i40e_set_ntuple(9)i40e_clear_rss_lut(9)i40e_set_loopback(9)i40e_set_features(9)i40e_ndo_fdb_add(9)i40e_ndo_bridge_setlink(9)i40e_ndo_bridge_getlink(9)i40e_features_check(9)i40e_xdp_setup(9)i40e_enter_busy_conf(9)i40e_exit_busy_conf(9)i40e_queue_pair_reset_stats(9)i40e_queue_pair_clean_rings(9)i40e_queue_pair_toggle_napi(9)i40e_queue_pair_toggle_rings(9)i40e_queue_pair_enable_irq(9)i40e_queue_pair_disable_irq(9)i40e_queue_pair_disable(9)i40e_queue_pair_enable(9)i40e_xdp(9)i40e_config_netdev(9)i40e_vsi_delete(9)i40e_is_vsi_uplink_mode_veb(9)i40e_add_vsi(9)i40e_vsi_release(9)i40e_vsi_setup_vectors(9)i40e_vsi_reinit_setup(9)i40e_vsi_setup(9)i40e_veb_get_bw_info(9)i40e_veb_mem_alloc(9)i40e_switch_branch_release(9)i40e_veb_clear(9)i40e_veb_release(9)i40e_add_veb(9)i40e_veb_setup(9)i40e_setup_pf_switch_element(9)i40e_fetch_switch_configuration(9)i40e_setup_pf_switch(9)i40e_determine_queue_usage(9)i40e_setup_pf_filter_control(9)i40e_get_platform_mac_addr(9)i40e_set_fec_in_flags(9)i40e_check_recovery_mode(9)i40e_pf_loop_reset(9)i40e_check_fw_empr(9)i40e_handle_resets(9)i40e_init_recovery_mode(9)i40e_set_subsystem_device_id(9)i40e_probe(9)i40e_remove(9)i40e_enable_mc_magic_wake(9)i40e_io_suspend(9)i40e_io_resume(9)i40e_pci_error_detected(9)i40e_pci_error_slot_reset(9)i40e_pci_error_reset_prepare(9)i40e_pci_error_reset_done(9)i40e_pci_error_resume(9)i40e_shutdown(9)i40e_suspend(9)i40e_resume(9)i40e_init_module(9)i40e_exit_module(9)
bestie that list is an entire friend group, not a SEE ALSO section π but it's all there, every single one, no skips π―
<div align="center">
β¨ that's the whole page, bestie β¨
mwah π this lil' cutie came out of ./drivers/net/ethernet/intel/i40e and it's dated October 2026 β go forth and slay your macvlan channels ππ
</div>
π¦ 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