i40e_get_ethtool_fdir_entry(9)
π i40e_get_ethtool_fdir_entry β look up a filter based on Rx flow
okay so this is a page from the Kernel API Manual, bestie, and it's about one very specific little function that goes hunting for a filter. let's get into it π
β¨ SYNOPSIS β¨
int i40e_get_ethtool_fdir_entry (struct i40e_pf *pf , struct ethtool_rxnfc *cmd );
that's the whole signature, no cap. it takes two pointers and gives you back an int. π«Ά
πΈ ARGUMENTS πΈ
pfβ pointer to the physical function struct. like, the big one. the main character. you're passing in the whole PF here πcmdβ the command to get or set Rx flow classification rules. this is the little envelope carrying your request π¦
π DESCRIPTION π
okay so what does it actually do. this function looks up a filter based on the Rx flow classification command, and if it finds one, it fills in the flow spec info for it. that's it. that's the whole vibe. π₯
so basically: you hand it a command, it goes searching, and when the filter exists it fills in the flow spec info so you can see what you got. obsessed.
and the return value? tea time π:
- returns
0on success π - returns
-EINVALif the filter is not found π
so if you get -EINVAL back, don't panic β it just means there was no filter matching what you asked for. it's giving "nothing to see here." π
π¦ SEE ALSO π¦
the kernel file this lives in is ./drivers/net/ethernet/intel/i40e/i40e_ethtool.c β that's the home base, iykyk. and here's the whole friend group, literally every single one, in order, not skipping a single bestie π:
struct i40e_stats(9)i40e_add_one_ethtool_stat(9)__i40e_add_ethtool_stats(9)i40e_add_ethtool_stats(9)i40e_add_queue_stats(9)__i40e_add_stat_strings(9)i40e_add_stat_strings(9)i40e_partition_setting_complaint(9)i40e_phy_type_to_ethtool(9)i40e_get_settings_link_up_fec(9)i40e_get_settings_link_up(9)i40e_get_settings_link_down(9)i40e_get_link_ksettings(9)i40e_speed_to_link_speed(9)i40e_set_link_ksettings(9)i40e_get_pauseparam(9)i40e_set_pauseparam(9)i40e_get_stats_count(9)i40e_get_veb_tc_stats(9)i40e_get_pfc_stats(9)i40e_get_ethtool_stats(9)i40e_get_stat_strings(9)i40e_set_wol(9)__i40e_get_coalesce(9)i40e_get_coalesce(9)i40e_get_per_queue_coalesce(9)i40e_set_itr_per_queue(9)__i40e_set_coalesce(9)i40e_set_coalesce(9)i40e_set_per_queue_coalesce(9)i40e_check_mask(9)i40e_parse_rx_flow_user_data(9)i40e_fill_rx_flow_user_data(9)i40e_get_ethtool_fdir_all(9)i40e_get_rx_ring_count(9)i40e_get_rxnfc(9)i40e_get_rss_hash_bits(9)i40e_update_ethtool_fdir_entry(9)i40e_prune_flex_pit_list(9)i40e_del_fdir_entry(9)i40e_unused_pit_index(9)i40e_find_flex_offset(9)i40e_add_flex_offset(9)__i40e_reprogram_flex_pit(9)i40e_reprogram_flex_pit(9)i40e_flow_str(9)i40e_pit_index_to_mask(9)i40e_print_input_set(9)i40e_check_fdir_input_set(9)i40e_match_fdir_filter(9)i40e_disallow_matching_filters(9)i40e_add_fdir_ethtool(9)i40e_set_rxnfc(9)i40e_max_channels(9)i40e_get_channels(9)i40e_set_channels(9)i40e_get_rxfh_key_size(9)i40e_get_rxfh_indir_size(9)i40e_get_rxfh(9)i40e_set_rxfh(9)i40e_get_priv_flags(9)i40e_set_priv_flags(9)i40e_get_module_info(9)i40e_get_module_eeprom(9)
like, that is a lot of related functions and honestly? iconic. go read them if you want the full lore π
and that's the page!! π
huge shoutout to the ./drivers/net/ethernet/intel/i40e directory β that's where all this lives β and this particular manual page is dated October 2026. slay, see you in the next one, bestie π§ββοΈβ
π¦ 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