__i40e_reprogram_flex_pit(9)
π __i40e_reprogram_flex_pit β a kernel API manual moment, from the <pink>Kernel API Manual</pink> girlies β¨
Okay bestie, welcome to the <hotpink>NAME</hotpink> section, because yes we're doing this properly:
__i40e_reprogram_flex_pitβ Re-program specific FLX_PIT table π
π SYNOPSIS
void __i40e_reprogram_flex_pit (struct i40e_pf *pf , struct list_head
*flex_pit_list , int flex_pit_start );
That's the whole vibe. Void return, no drama, no return value to check. Periodt.
π ARGUMENTS
pfβ Pointer to the PF structure. That's the whole glow-up, she's just a pointer to the PF, okurrr π«Άflex_pit_listβ list of flexible src offsets in use. Lowkey the main character here π¦flex_pit_startβ index to first entry for this section of the table. Where the section starts, that's it, that's the rule β
β¨ DESCRIPTION
So here's the lore, bestie. In order to handle flexible data, the hardware uses a table of values called the <purple>FLX_PIT table</purple>. This table is used to indicate which sections of the input correspond to what PIT index values. Cute concept, right? π
But unfortunately, hardware is very restrictive about programming this table. Like, unnecessarily restrictive. Not me defending the hardware, I'm just saying π
The rules she demands, no cap:
- Entries must be ordered by
src_offsetin ascending order, without duplicates. Zero exceptions. - Additionally, unused entries must be set to the unused index value.
- And they must have valid size and length according to the
src_offsetordering.
This function will reprogram the FLX_PIT register from a book-keeping structure that we guarantee is already ordered correctly, and has no more than 3 entries. Three! Max! π She's on a strict little budget, okurrr.
And to make things easier, we only support flexible values of one word length, rather than allowing variable length flexible values. So: one word length, always, forever, periodt. πΈ
π SEE ALSO
The whole friend group, fr fr β <cyan>Kernel file ./drivers/net/ethernet/intel/i40e/i40e_ethtool.c</cyan>:
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_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)
Okay that's the page, bestie, you ate that π
Huge slay sign-off moment: this one comes to you from <mint>./drivers/net/ethernet/intel/i40e</mint>, dated <yellow>October 2026</yellow>, and she's sitting pretty under the <lavender>Kernel API Manual</lavender> name β __i40e_reprogram_flex_pit(9), mwah ππ¦
π¦ 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