i40e_pf_get_tc_map(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… i40e_pf_get_tc_map ✨

okay so this one's from the Kernel API Manual (section 9, kernel interfaces, iykyk) and honestly it's a tiny little function with a huge friend group. Let's get into it 🫢


🌸 NAME

i40e_pf_get_tc_map β€” get a bitmap for the enabled traffic classes πŸ’…

✨ SYNOPSIS

u8 i40e_pf_get_tc_map (struct i40e_pf *pf );

πŸŽ€ ARGUMENTS

  • pf β€” the PF you're asking about. that's it. that's the whole input πŸ¦‹

πŸ’– DESCRIPTION

You hand it a PF, it hands you back a bitmap of the traffic classes that are enabled for that PF. Literally the entire plot. no side quests, no surprises, just vibes and a u8 πŸ’–

πŸ¦‹ SEE ALSO

Bestie, buckle up. This page's SEE ALSO is iconic β€” the whole i40e extended universe is here, in order, no cap:

  • where it all lives: the kernel file ./drivers/net/ethernet/intel/i40e/i40e_main.c
  • plumbing + memory: i40e_hw_to_dev, i40e_allocate_dma_mem, i40e_free_dma_mem, i40e_allocate_virt_mem, i40e_free_virt_mem, i40e_get_lump, i40e_put_lump, i40e_find_vsi_from_id, i40e_service_event_schedule, i40e_tx_timeout
  • stats structs: i40e_get_vsi_stats_struct, i40e_get_netdev_stats_struct_tx, i40e_get_netdev_stats_struct, i40e_vsi_reset_stats, i40e_pf_reset_stats, i40e_compute_pci_to_hw_id
  • number crunching (the stats girlies): i40e_stat_update64, i40e_stat_update48, i40e_stat_update32, i40e_stat_update_and_clear32, i40e_stats_update_rx_discards, i40e_update_eth_stats, i40e_update_veb_stats, i40e_update_vsi_stats, i40e_update_pf_stats, i40e_update_stats
  • filter + mac squad: i40e_count_all_filters, i40e_count_active_filters, i40e_find_filter, i40e_find_mac, i40e_is_vsi_in_vlan, i40e_correct_mac_vlan_filters, i40e_get_vf_new_vlan, i40e_correct_vf_mac_vlan_filters, i40e_rm_default_mac_filter, i40e_add_filter, __i40e_del_filter, i40e_add_mac_filter, i40e_del_mac_filter, i40e_set_mac
  • rss + queue maps: i40e_config_rss_aq, i40e_vsi_config_rss, i40e_vsi_setup_queue_map_mqprio, i40e_vsi_setup_queue_map
  • keeping filters in sync πŸ”₯: i40e_addr_sync, i40e_addr_unsync, i40e_set_rx_mode, i40e_undo_del_filter_entries, i40e_undo_add_filter_entries, i40e_next_filter, i40e_update_filter_state, i40e_aqc_del_filters, i40e_aqc_add_filters, i40e_aqc_broadcast_filter, i40e_set_promiscuous, i40e_sync_vsi_filters, i40e_sync_filters_subtask
  • buffers + mtu: i40e_calculate_vsi_rx_buf_len, i40e_max_vsi_frame_size, i40e_change_mtu
  • vlan era πŸ’œ: i40e_vlan_stripping_enable, i40e_vlan_stripping_disable, i40e_add_vlan_all_mac, i40e_vsi_add_vlan, i40e_rm_vlan_all_mac, i40e_vsi_kill_vlan, i40e_vlan_rx_add_vid, i40e_vlan_rx_add_vid_up, i40e_vlan_rx_kill_vid, i40e_restore_vlan, i40e_vsi_add_pvid, i40e_vsi_remove_pvid
  • rings + resources: i40e_vsi_setup_tx_resources, i40e_vsi_free_tx_resources, i40e_vsi_setup_rx_resources, i40e_vsi_free_rx_resources, i40e_config_xps_tx_ring, i40e_xsk_pool, i40e_configure_tx_ring, i40e_rx_offset, i40e_configure_rx_ring, i40e_vsi_configure_tx, i40e_vsi_configure_rx, i40e_vsi_config_dcb_rings
  • vsi config + fdir bookkeeping: i40e_set_vsi_rx_mode, i40e_reset_fdir_filter_cnt, i40e_fdir_filter_restore, i40e_vsi_configure, i40e_vsi_configure_msix, i40e_enable_misc_int_causes
  • IRQ / MSI-X central ⚑: i40e_configure_msi_and_legacy, i40e_irq_dynamic_disable_icr0, i40e_irq_dynamic_enable_icr0, i40e_msix_clean_rings, i40e_irq_affinity_notify, i40e_irq_affinity_release, i40e_vsi_request_irq_msix, i40e_vsi_disable_irq, i40e_vsi_enable_irq, i40e_free_misc_vector, i40e_intr, i40e_clean_fdir_tx_irq, i40e_fdir_clean_ring, i40e_map_vector_to_qp, i40e_vsi_map_rings_to_vectors, i40e_vsi_request_irq, i40e_netpoll
  • TX/RX control + ring start/stop: i40e_pf_txq_wait, i40e_control_tx_q, i40e_control_wait_tx_q, i40e_vsi_enable_tx, i40e_pf_rxq_wait, i40e_control_rx_q, i40e_control_wait_rx_q, i40e_vsi_enable_rx, i40e_vsi_start_rings, i40e_vsi_stop_rings, i40e_vsi_stop_rings_no_wait, i40e_vsi_free_irq, i40e_free_q_vector, i40e_vsi_free_q_vectors, i40e_reset_interrupt_capability, i40e_clear_interrupt_scheme, i40e_napi_enable_all, i40e_napi_disable_all
  • closing / quiescing the vsi: i40e_vsi_close, i40e_quiesce_vsi, i40e_unquiesce_vsi, i40e_pf_quiesce_all_vsi, i40e_pf_unquiesce_all_vsi, i40e_vsi_wait_queues_disabled, i40e_pf_wait_queues_disabled
  • traffic class town (our girl's home turf): i40e_get_iscsi_tc_map, i40e_dcb_get_num_tc, i40e_dcb_get_enabled_tc, i40e_mqprio_get_enabled_tc, i40e_pf_get_num_tc, i40e_vsi_get_bw_info, i40e_vsi_configure_bw_alloc, i40e_vsi_config_netdev_tc, i40e_vsi_update_queue_map, i40e_update_adq_vsi_queues, i40e_vsi_config_tc, i40e_vsi_reconfig_tc, i40e_get_link_speed, i40e_bw_bytes_to_mbits, i40e_set_bw_limit
  • channels (the queue-channel lore): i40e_remove_queue_channels, i40e_get_max_queues_for_channel, i40e_validate_num_queues, i40e_vsi_reconfig_rss, i40e_channel_setup_queue_map, i40e_add_channel, i40e_channel_config_tx_ring, i40e_setup_hw_channel, i40e_setup_channel, i40e_validate_and_set_switch_mode, i40e_create_queue_channel, i40e_configure_queue_channels, i40e_veb_config_tc, i40e_dcb_reconfigure, i40e_resume_port_tx, i40e_suspend_port_tx, i40e_hw_set_dcb_config, i40e_hw_dcb_config, i40e_dcb_sw_default_config, i40e_init_pf_dcb
  • link + up/down: i40e_print_link_message, i40e_up_complete, i40e_vsi_reinit_locked, i40e_force_link_state, i40e_up, i40e_down, i40e_validate_mqprio_qopt, i40e_vsi_set_default_tc_config
  • macvlan + cloud filters + tc flower 🌸: i40e_del_macvlan_filter, i40e_add_macvlan_filter, i40e_reset_ch_rings, i40e_free_macvlan_channels, i40e_fwd_ring_up, i40e_setup_macvlans, i40e_fwd_add, i40e_del_all_macvlans, i40e_fwd_del, i40e_setup_tc, i40e_set_cld_element, i40e_add_del_cloud_filter, i40e_add_del_cloud_filter_big_buf, i40e_parse_cls_flower, i40e_handle_tclass, i40e_configure_clsflower, i40e_find_cloud_filter, i40e_delete_clsflower, i40e_setup_tc_cls_flower
  • dev open/close: i40e_open, i40e_netif_set_realnum_tx_rx_queues, i40e_vsi_open, i40e_fdir_filter_exit, i40e_cloud_filter_exit, i40e_close
  • reset + event handling: i40e_do_reset, i40e_dcb_need_reconfig, i40e_handle_lldp_event, i40e_do_reset_safe, i40e_handle_lan_overflow_event, i40e_get_current_fd_count, i40e_get_global_fd_count, i40e_reenable_fdir_sb, i40e_reenable_fdir_atr, i40e_delete_invalid_filter, i40e_fdir_check_and_reenable, i40e_fdir_flush_and_replay, i40e_get_current_atr_cnt, i40e_fdir_reinit_subtask, i40e_vsi_link_event
  • more link + subtask things: i40e_veb_link_event, i40e_link_event, i40e_watchdog_subtask, i40e_reset_subtask, i40e_handle_link_event, i40e_clean_adminq_subtask, i40e_verify_eeprom
  • switch / veb / capabilities: i40e_enable_pf_switch_lb, i40e_disable_pf_switch_lb, i40e_config_bridge_mode, i40e_reconstitute_veb, i40e_get_capabilities, i40e_fdir_sb_setup, i40e_fdir_teardown, i40e_rebuild_cloud_filters, i40e_rebuild_channels, i40e_clean_xps_state, i40e_prep_for_reset, i40e_send_version, i40e_get_oem_version
  • reset/rebuild + MDD 🫢: i40e_reset, i40e_rebuild, i40e_reset_and_rebuild, i40e_handle_reset_warning, i40e_print_vf_mdd_event, i40e_print_vfs_mdd_events, i40e_handle_mdd_event, i40e_service_task, i40e_service_timer
  • rings + vectors allocation: i40e_set_num_rings_in_vsi, i40e_vsi_alloc_arrays, i40e_vsi_mem_alloc, i40e_vsi_free_arrays, i40e_clear_rss_config_user, i40e_vsi_clear, i40e_vsi_clear_rings, i40e_alloc_rings, i40e_reserve_msix_vectors, i40e_init_msix, i40e_vsi_alloc_q_vector, i40e_vsi_alloc_q_vectors, i40e_init_interrupt_scheme, i40e_restore_interrupt_scheme, i40e_setup_misc_vector_for_recovery_mode, i40e_setup_misc_vector
  • RSS everything: i40e_get_rss_aq, i40e_config_rss_reg, i40e_get_rss_reg, i40e_config_rss, i40e_get_rss, i40e_fill_rss_lut, i40e_pf_config_rss, i40e_reconfig_rss_queues
  • bw settings, features, xdp, busy conf: i40e_get_partition_bw_setting, i40e_set_partition_bw_setting, i40e_is_total_port_shutdown_enabled, i40e_sw_init, i40e_set_ntuple, i40e_clear_rss_lut, i40e_set_loopback, i40e_set_features, i40e_ndo_fdb_add, i40e_ndo_bridge_setlink, i40e_ndo_bridge_getlink, i40e_features_check, i40e_xdp_setup, i40e_enter_busy_conf, i40e_exit_busy_conf
  • queue pairs: i40e_queue_pair_reset_stats, i40e_queue_pair_clean_rings, i40e_queue_pair_toggle_napi, i40e_queue_pair_toggle_rings, i40e_queue_pair_enable_irq, i40e_queue_pair_disable_irq, i40e_queue_pair_disable, i40e_queue_pair_enable, i40e_xdp
  • netdev + vsi setup: i40e_config_netdev, i40e_vsi_delete, i40e_is_vsi_uplink_mode_veb, i40e_add_vsi, i40e_vsi_release, i40e_vsi_setup_vectors, i40e_vsi_reinit_setup, i40e_vsi_setup
  • veb setup era: i40e_veb_get_bw_info, i40e_veb_mem_alloc, i40e_switch_branch_release, i40e_veb_clear, i40e_veb_release, i40e_add_veb, i40e_veb_setup, i40e_setup_pf_switch_element, i40e_fetch_switch_configuration, i40e_setup_pf_switch
  • pf bring-up + recovery: i40e_determine_queue_usage, i40e_setup_pf_filter_control, i40e_get_platform_mac_addr, i40e_set_fec_in_flags, i40e_check_recovery_mode, i40e_pf_loop_reset, i40e_check_fw_empr, i40e_handle_resets, i40e_init_recovery_mode, i40e_set_subsystem_device_id
  • probe / remove / PCI / module πŸ‘‘: i40e_probe, i40e_remove, i40e_enable_mc_magic_wake, i40e_io_suspend, i40e_io_resume, i40e_pci_error_detected, i40e_pci_error_slot_reset, i40e_pci_error_reset_prepare, i40e_pci_error_reset_done, i40e_pci_error_resume, i40e_shutdown, i40e_suspend, i40e_resume, i40e_init_module, i40e_exit_module

and that's the whole friend group, fr fr β€” not one name skipped πŸ’–

This lil page comes to you from ./drivers/net/ethernet/intel/i40e, dated October 2026, and it lives in the Kernel API Manual (page i40e_pf_get_tc_map(9)). periodt. πŸŽ€πŸ¦‹βœ¨

πŸ“¦ where this page comes from