i40e_check_fdir_input_set(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… i40e_check_fdir_input_set(9) β€” Kernel API Manual πŸ’…

okay so welcome to the Kernel API Manual page for i40e_check_fdir_input_set(9) β€” bestie, we’re doing a mask vibe check today and the vibes are very specific. 🫢

πŸŽ€ NAME πŸŽ€

i40e_check_fdir_input_set β€” checks that a given rx_flow_spec mask is valid. No cap, that’s the whole name-and-purpose situation. ✨

🌸 SYNOPSIS 🌸

int i40e_check_fdir_input_set (struct i40e_vsi *vsi , struct ethtool_rx_flow_spec *fsp , struct i40e_rx_flow_userdef *userdef );

✨ ARGUMENTS ✨

  • vsi β€” pointer to the targeted VSI. That’s the vibe.
  • fsp β€” pointer to Rx flow specification. Iconic pointer behavior.
  • userdef β€” userdefined data from flow specification.

πŸ’– DESCRIPTION πŸ’–

okay so picture this: this function ensures that a given ethtool_rx_flow_spec has a valid mask. There’s some support for partial matches, but with a few limitations β€” and they are real ones:

  • First, hardware only supports masking by word boundary (2 bytes) and not per individual bit. πŸ’€
  • Second, hardware is limited to using one mask for a flow type and cannot use a separate mask for each filter.

To support these limitations, here’s the tea: if we already have a configured filter for the specified type, this function enforces that new filters of the type match the configured input set. Otherwise, if we do not have a filter of the specified type, we allow the input set to be updated to match the desired filter. Slay. πŸ’…

And to help ensure that administrators understand why filters weren’t displayed as supported, we print a diagnostic message displaying how the input set would change and warning to delete the preexisting filters if required. So yeah, it’s giving receipts. 🧾✨

Returns 0 on successful input set match, and a negative return code on failure. That’s the important bit, bestie. 🫑

🌈 SEE ALSO 🌈

Kernel file ./drivers/net/ethernet/intel/i40e/i40e_ethtool.c 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_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_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).


mwah πŸ’‹ that’s the page! From the Kernel API Manual source tree, path ./drivers/net/ethernet/intel/i40e, dated October 2026, all about i40e_check_fdir_input_set(9). Stay masked and valid, bestie. πŸŽ€πŸ’œ

πŸ“¦ where this page comes from