i40e_aq_add_veb(9)
β¨ i40e_aq_add_veb β¨
okay so bestie, we're deep in the Kernel API Manual today, and the star of the show is i40e_aq_add_veb(9) β the function that's literally matchmaking a VEB between your VSI and your MAC. networking wingman energy fr fr π
πΈ NAME πΈ
i40e_aq_add_veb β Insert a VEB between the VSI and the MAC
π SYNOPSIS π
int i40e_aq_add_veb (struct i40e_hw *hw , u16 uplink_seid , u16
downlink_seid , u8 enabled_tc , bool default_port , u16 *veb_seid , bool
enable_stats , struct i40e_asq_cmd_details *cmd_details );
π¦ ARGUMENTS π¦
hwβ pointer to the hw struct. your main character struct, the one you pass to literally everything.uplink_seidβ the MAC or other gizmo SEID. yes, "gizmo" is doing canonically the technical work here πdownlink_seidβ the VSI SEIDenabled_tcβ bitmap of TCs to be enableddefault_portβtruefor default port VSI,falsefor control portveb_seidβ pointer to where to put the resulting VEB SEID. it's an out-param bestie, give it somewhere to live π«Άenable_statsβtrueto turn on VEB statscmd_detailsβ pointer to command details structure orNULL
π DESCRIPTION π
So the way this works is β you're asking the FW (firmware, the other boss here) to add a VEB between the uplink and downlink elements. that's it, that's the whole vibe: uplink on one side, downlink on the other, VEB in the middle. matchmaker, matchmaker, make me a match π«
And here's the cute little plot twist: if the uplink SEID is 0, this will be a floating VEB. no cap. zero means float. π
π SEE ALSO π
The source lives in the kernel file ./drivers/net/ethernet/intel/i40e/i40e_common.c β go say hi π
Now the friend group. there's like a hundred of them, and they're all (9) sections, and yes i'm listing every single one because we do not leave anyone out in this group chat π«Άβ¨
- the setup besties:
i40e_set_mac_type(9),i40e_init_shared_code(9) - admin queue debugging squad:
i40e_debug_aq(9),i40e_check_asq_alive(9),i40e_aq_queue_shutdown(9) - RSS girlies (lut edition):
i40e_aq_get_set_rss_lut(9),i40e_aq_get_rss_lut(9),i40e_aq_set_rss_lut(9) - RSS girlies (key edition):
i40e_aq_get_set_rss_key(9),i40e_aq_get_rss_key(9),i40e_aq_set_rss_key(9) - MAC address crew:
i40e_aq_mac_address_read(9),i40e_aq_mac_address_write(9),i40e_get_mac_addr(9),i40e_get_port_mac_addr(9) - misc icons:
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) - LED delegation:
i40e_led_is_mine(9),i40e_led_get(9),i40e_led_set(9),i40e_led_get_reg(9),i40e_led_set_reg(9),i40e_led_get_phy(9),i40e_led_set_phy(9) - PHY / link era:
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) - VSI besties:
i40e_aq_add_vsi(9),i40e_aq_set_default_vsi(9),i40e_aq_clear_default_vsi(9),i40e_aq_get_vsi_params(9),i40e_aq_update_vsi_params(9) - promiscuous behaviour (respectfully):
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) - switch config: get it, set it:
i40e_aq_get_switch_config(9),i40e_aq_set_switch_config(9) - versioning vibes:
i40e_aq_get_firmware_version(9),i40e_aq_send_driver_version(9) - link status updates:
i40e_get_link_status(9),i40e_update_link_info(9) - VEB param peek:
i40e_aq_get_veb_parameters(9) - macvlan gang:
i40e_prepare_add_macvlan(9),i40e_aq_add_macvlan(9),i40e_aq_add_macvlan_v2(9),i40e_aq_remove_macvlan(9),i40e_aq_remove_macvlan_v2(9) - talking to the VFs:
i40e_aq_send_msg_to_vf(9) - register debugging:
i40e_aq_debug_read_register(9),i40e_aq_debug_write_register(9) - resource management:
i40e_aq_request_resource(9),i40e_aq_release_resource(9) - NVM squad:
i40e_aq_read_nvm(9),i40e_aq_erase_nvm(9),i40e_aq_update_nvm(9) - capability discovery:
i40e_parse_discover_capabilities(9),i40e_aq_discover_capabilities(9) - LLDP lineup:
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) - DCB crew:
i40e_aq_set_dcb_parameters(9),i40e_aq_get_cee_dcb_config(9),i40e_aq_dcb_updated(9) - tunnel twins:
i40e_aq_add_udp_tunnel(9),i40e_aq_del_udp_tunnel(9) - cleanup duty:
i40e_aq_delete_element(9) - tx scheduling & bandwidth the whole saga:
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),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) - filter settings:
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) - alternate ram read:
i40e_aq_alternate_read(9) - port tx pause/resume:
i40e_aq_suspend_port_tx(9),i40e_aq_resume_port_tx(9) - pci config:
i40e_set_pci_config_data(9) - debug dump:
i40e_aq_debug_dump(9) - partition bandwidth:
i40e_read_bw_from_alt_ram(9),i40e_aq_configure_partition_bw(9) - PHY registers, clause 22 & 45:
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) - rx ctl reads & writes:
i40e_aq_rx_ctl_read_register(9),i40e_read_rx_ctl(9),i40e_aq_rx_ctl_write_register(9),i40e_write_rx_ctl(9) - mdio interface picking:
i40e_mdio_if_number_selection(9) - PHY register ext:
i40e_aq_set_phy_register_ext(9),i40e_aq_get_phy_register_ext(9) - DDP/profiles era:
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) - cloud filter crew:
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)
and that's the whole page bestie, no notes π
β§ο½₯οΎ: * sign-off time * :ο½₯οΎβ§ brought to you by the lovely people hanging out in ./drivers/net/ethernet/intel/i40e, dated October 2026, and yeah this one's filed under i40e_aq_add_veb(9). go build something iconic with it πππ¦
π¦ 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