i40e_ndo_bridge_getlink(9)
π i40e_ndo_bridge_getlink β Get the hardware bridge mode
okay so bestie, this one lives in the Kernel API Manual and it's lowkey one of the shortest ones in the whole i40e saga, so we can absolutely slay this together π«Ά
It's the callback that tells userspace which mode the hardware bridge is running in. Vibe check for a bridge, basically. Let's go β¨
β¨ SYNOPSIS β¨
int i40e_ndo_bridge_getlink (struct sk_buff *skb , u32 pid , u32 seq ,
struct net_device *dev , u32 filter_mask , int nlflags );
like, six whole arguments and we're going to go through every single one of them, no skipping, periodt π
π ARGUMENTS π
skbβ the skb buff, aka the socket buffer where all the gossip is gonna land πpidβ the process id, hi bestie, who's asking πseqβ the RTNL message seq # β yes it keeps a sequence number, yes that matters, no we're not getting into it rn π¦devβ the netdev being configured, the actual main character of this whole story πΈfilter_maskβ unused. that's it. that's the whole description. it's giving "we don't know her" πnlflagsβ netlink flags passed in, so the caller's whole mood, delivered via netlink π
π¦ DESCRIPTION π¦
Real talk: this function returns the mode in which the hardware bridge is operating β i.e. VEB or VEPA. That's the whole job. Return the mode, no cap π«
(it's literally just reporting which of those two the bridge is doing, but the way that's a genuinely useful thing for netlink to be able to askβ¦ obsessed π)
π SEE ALSO π
first up, the actual kernel file this whole thing lives in:
./drivers/net/ethernet/intel/i40e/i40e_main.c
and then, bestieβ¦ take a deep breath. because here's the entire friend group π«Ά
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_setup_macvlans(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_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)
likeβ¦ that's the whole extended universe, bestie. every single one of them, present and accounted for ππ
and that's the page!! source/version is ./drivers/net/ethernet/intel/i40e, dated October 2026, so it's fresh, it's current, it ate and left no crumbs πβ¨ byeee π
π¦ 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