i40e_disallo...hing_filters(9)
π i40e_disallow_matching_filters β Kernel API Manual, section 9
okay so bestie, welcome to the manual page for i40e_disallow_matching_filters, straight out of the Kernel API Manual (yes, section 9, the ~fancy~ one). grab a lil snack, we're checking filters together π
β¨ NAME β¨
i40e_disallow_matching_filters β literally just checking that your new filters differ from the ones already chilling in there π
π SYNOPSIS π
int i40e_disallow_matching_filters (struct i40e_vsi *vsi , struct
i40e_fdir_filter *input );
π¦ ARGUMENTS π¦
vsiβ pointer to the targeted VSI, aka the vibe we're aiming at π―inputβ the new filter we're about to check, no cap
πΈ DESCRIPTION πΈ
so here's the tea, bestie: due to hardware limitations, it is not possible for two filters that match similar criteria to be programmed at the same time. and like, it's true for a few reasons:
- (a) all filters matching a particular flow type must use the same input set, that is they must match the same criteria.
- (b) different flow types will never match the same packet, as the flow type is decided by hardware before checking which rules apply.
- (c) hardware has no way to distinguish which order filters apply in. π
due to this, we can't really support using the location data to order filters in the hardware parsing. it is technically possible for the user to request two filters matching the same criteria but which select different queues. in this case, rather than keep both filters in the list, we reject the 2nd filter when the user requests adding it. π
this avoids needing to track location for programming the filter to hardware, and ensures that we avoid some strange scenarios involving deleting filters which match the same criteria. iconic behaviour honestly π
π SEE ALSO π
like, the whole i40e extended family shows up here, iykyk:
- Kernel file
./drivers/net/ethernet/intel/i40e/i40e_ethtool.cstruct 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_ethtool_fdir_entry(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_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)
bestie reminder: two filters matching the same criteria at the same time? not happening. hardware said no and we respect the boundary π«Ά
that's the whole page, mwah π this one lives in ./drivers/net/ethernet/intel/i40e and it's dated October 2026 β go off, driver directory, you ate βπ
π¦ 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