i40e_aq_add_macvlan_v2(9)
π i40e_aq_add_macvlan_v2 β Kernel API Manual β¨
okay so this is a page out of the Kernel API Manual, bestie β it's the i40e_aq_add_macvlan_v2(9) entry, and it's genuinely one of those short-and-sweet ones. no cap, the whole thing fits in a text message. let's get into it π«Ά
πΈ NAME πΈ
i40e_aq_add_macvlan_v2 β and that's it. literally. the description line is blank in the original, so i'm not gonna invent one for you (that would be lying, and we don't do that here π). the name's the whole personality.
β¨ SYNOPSIS β¨
here's the exact signature, character for character, no touchy:
int i40e_aq_add_macvlan_v2 (struct i40e_hw *hw , u16 seid , struct
i40e_aqc_add_macvlan_element_data *mv_list , u16 count , struct
i40e_asq_cmd_details *cmd_details , enum libie_aq_err *aq_status );
six whole arguments, it's giving "i have a lot going on rn" π
π ARGUMENTS π
hwβ pointer to thehwstruct. the main character of the whole operation, honestly πseidβ the VSI for the mac address. that's the one you're doing this for, iykykmv_listβ list of macvlans to be added. it's a whole lineup, like a guest list π¦countβ length of the list. yes, you have to tell it how many. no, it can't just vibe-check the list itself πcmd_detailsβ pointer to command details structure, orNULL. your call, bestieaq_statusβ pointer to the Admin Queue status return value. it's gonna hold the receipts π
π₯ DESCRIPTION π₯
okay so what does this actually do: it adds MAC/VLAN addresses to the HW filtering. that's the whole job. iconic, straightforward, ate π
but here's the part that makes it _v2 instead of just... v1, and ngl this is the good bit:
the _v2 version returns the last Admin Queue status in aq_status, and the reason is so real β it avoids race conditions in access to hw->aq.asq_last_status. like, imagine two threads fighting over the same field, embarrassing π not here though.
it also calls _v2 versions of the asq_send_command functions specifically so it can get the aq_status on the stack. stack. on the stack. that's the flex. periodt β¨
π¦ SEE ALSO π¦
first up, the file itself, living its life at:
./drivers/net/ethernet/intel/i40e/i40e_common.c
and then the friend group π β every single one of these, in order, exactly as listed:
i40e_set_mac_type(9), i40e_debug_aq(9), i40e_check_asq_alive(9), i40e_aq_queue_shutdown(9), i40e_aq_get_set_rss_lut(9), i40e_aq_get_rss_lut(9), i40e_aq_set_rss_lut(9), i40e_aq_get_set_rss_key(9), i40e_aq_get_rss_key(9), i40e_aq_set_rss_key(9), i40e_init_shared_code(9), i40e_aq_mac_address_read(9), i40e_aq_mac_address_write(9), i40e_get_mac_addr(9), i40e_get_port_mac_addr(9), i40e_pre_tx_queue_cfg(9), i40e_get_pba_string(9), i40e_get_media_type(9), i40e_poll_globr(9), i40e_pf_reset(9), i40e_clear_hw(9), i40e_clear_pxe_mode(9), i40e_led_is_mine(9), i40e_led_get(9), i40e_led_set(9), i40e_aq_get_phy_capabilities(9), i40e_aq_set_phy_config(9), i40e_set_fc(9), i40e_aq_set_mac_config(9), i40e_aq_clear_pxe_mode(9), i40e_aq_set_link_restart_an(9), i40e_aq_get_link_info(9), i40e_aq_set_phy_int_mask(9), i40e_aq_set_mac_loopback(9), i40e_aq_set_phy_debug(9), i40e_aq_add_vsi(9), i40e_aq_set_default_vsi(9), i40e_aq_clear_default_vsi(9), i40e_aq_set_vsi_unicast_promiscuous(9), i40e_aq_set_vsi_multicast_promiscuous(9), i40e_aq_set_vsi_mc_promisc_on_vlan(9), i40e_aq_set_vsi_uc_promisc_on_vlan(9), i40e_aq_set_vsi_bc_promisc_on_vlan(9), i40e_aq_set_vsi_broadcast(9), i40e_aq_get_vsi_params(9), i40e_aq_update_vsi_params(9), i40e_aq_get_switch_config(9), i40e_aq_set_switch_config(9), i40e_aq_get_firmware_version(9), i40e_aq_send_driver_version(9), i40e_get_link_status(9), i40e_update_link_info(9), i40e_aq_add_veb(9), i40e_aq_get_veb_parameters(9)
and continuing, because the list is long and we respect it π
i40e_prepare_add_macvlan(9), i40e_aq_add_macvlan(9), i40e_aq_remove_macvlan(9), i40e_aq_remove_macvlan_v2(9), i40e_aq_send_msg_to_vf(9), i40e_aq_debug_read_register(9), i40e_aq_debug_write_register(9), i40e_aq_request_resource(9), i40e_aq_release_resource(9), i40e_aq_read_nvm(9), i40e_aq_erase_nvm(9), i40e_parse_discover_capabilities(9), i40e_aq_discover_capabilities(9), i40e_aq_update_nvm(9), i40e_aq_get_lldp_mib(9), i40e_aq_set_lldp_mib(9), i40e_aq_cfg_lldp_mib_change_event(9), i40e_aq_stop_lldp(9), i40e_aq_start_lldp(9), i40e_aq_set_dcb_parameters(9), i40e_aq_get_cee_dcb_config(9), i40e_aq_add_udp_tunnel(9), i40e_aq_del_udp_tunnel(9), i40e_aq_delete_element(9), i40e_aq_dcb_updated(9), i40e_aq_tx_sched_cmd(9), i40e_aq_config_vsi_bw_limit(9), i40e_aq_config_vsi_tc_bw(9), i40e_aq_config_switch_comp_ets(9), i40e_aq_config_switch_comp_bw_config(9)
bandwidth girlies, this section is for you π
i40e_aq_query_vsi_bw_config(9), i40e_aq_query_vsi_ets_sla_config(9), i40e_aq_query_switch_comp_ets_config(9), i40e_aq_query_port_ets_config(9), i40e_aq_query_switch_comp_bw_config(9), i40e_validate_filter_settings(9), i40e_set_filter_control(9), i40e_aq_add_rem_control_packet_filter(9), i40e_add_filter_to_drop_tx_flow_control_frames(9), i40e_aq_alternate_read(9), i40e_aq_suspend_port_tx(9), i40e_aq_resume_port_tx(9), i40e_set_pci_config_data(9), i40e_aq_debug_dump(9), i40e_read_bw_from_alt_ram(9), i40e_aq_configure_partition_bw(9), i40e_read_phy_register_clause22(9), i40e_write_phy_register_clause22(9), i40e_read_phy_register_clause45(9), i40e_write_phy_register_clause45(9), i40e_get_phy_address(9), i40e_led_get_reg(9), i40e_led_set_reg(9), i40e_led_get_phy(9), i40e_led_set_phy(9), i40e_aq_rx_ctl_read_register(9), i40e_read_rx_ctl(9), i40e_aq_rx_ctl_write_register(9), i40e_write_rx_ctl(9), i40e_mdio_if_number_selection(9), i40e_aq_set_phy_register_ext(9), i40e_aq_get_phy_register_ext(9)
and the last lil cluster, DDP + cloud filters, we love a grand finale β
i40e_aq_write_ddp(9), i40e_aq_get_ddp_list(9), i40e_find_segment_in_package(9), i40e_ddp_exec_aq_section(9), i40e_validate_profile(9), i40e_write_profile(9), i40e_rollback_profile(9), i40e_aq_add_cloud_filters(9), i40e_aq_add_cloud_filters_bb(9), i40e_aq_rem_cloud_filters(9), i40e_aq_rem_cloud_filters_bb(9)
π«Ά that's the whole page, bestie. no bugs section, no warnings, no exit statuses β this one's clean. enjoy the lack of chaos for once π§
and that's a wrap, mwah π β this lil gem comes to you from ./drivers/net/ethernet/intel/i40e, dated October 2026, and it's page i40e_aq_add_macvlan_v2(9) of the Kernel API Manual. go add some MAC/VLANs, you've got this πβ¨
π¦ 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