i40e_aq_add_macvlan_v2(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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 the hw struct. the main character of the whole operation, honestly πŸ‘‘
  • seid β€” the VSI for the mac address. that's the one you're doing this for, iykyk
  • mv_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, or NULL. your call, bestie
  • aq_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