ixgbe_get_fdirtcpm_82599(9)
π ixgbe_get_fdirtcpm_82599(9) β from the Kernel API Manual, bestie β¨
okay so this is a page out of the Kernel API Manual, and honestly? It's a little niche but it's lowkey iconic once you get it. We're talking ixgbe_get_fdirtcpm_82599 β the function whose whole entire personality is flipping bits so your TCP ports come out right. Stay with me, it's gonna slay π
β¨ NAME β¨
ixgbe_get_fdirtcpm_82599 β generate a tcp port from atr_input_masks π
πΈ SYNOPSIS πΈ
u32 ixgbe_get_fdirtcpm_82599 (union ixgbe_atr_input *input_mask );
π¦ ARGUMENTS π¦
input_maskβ the mask that's getting bit swapped. That's it, that's the whole argument, she's got one job π
π₯ DESCRIPTION π₯
So here's the vibe: the source and destination port masks for flow director are bit swapped. And not in a cute way β we mean like, bit 15 effects bit 0, 14 effects 1, 13 effects 2, etc. π« It's giving upside-down.
So if you want a value that's actually swapped correctly, you gotta bit swap the mask first β and that's literally exactly what this function does. No cap, that's the whole function. She bit swaps the mask and we love her for it π
π SEE ALSO π
Kernel file ./drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c β and honestly the whole 82599 friend group, they all show up:
prot_autoc_read_82599(9)prot_autoc_write_82599(9)ixgbe_init_phy_ops_82599(9)ixgbe_get_link_capabilities_82599(9)ixgbe_get_media_type_82599(9)ixgbe_stop_mac_link_on_d3_82599(9)ixgbe_start_mac_link_82599(9)ixgbe_disable_tx_laser_multispeed_fiber(9)ixgbe_enable_tx_laser_multispeed_fiber(9)ixgbe_flap_tx_laser_multispeed_fiber(9)ixgbe_set_hard_rate_select_speed(9)ixgbe_setup_mac_link_smartspeed(9)ixgbe_setup_mac_link_82599(9)ixgbe_setup_copper_link_82599(9)ixgbe_reset_hw_82599(9)ixgbe_fdir_check_cmd_complete(9)ixgbe_reinit_fdir_tables_82599(9)ixgbe_fdir_enable_82599(9)ixgbe_init_fdir_signature_82599(9)ixgbe_init_fdir_perfect_82599(9)ixgbe_atr_compute_sig_hash_82599(9)ixgbe_fdir_add_signature_filter_82599(9)ixgbe_atr_compute_perfect_hash_82599(9)ixgbe_read_analog_reg8_82599(9)ixgbe_write_analog_reg8_82599(9)ixgbe_start_hw_82599(9)ixgbe_identify_phy_82599(9)ixgbe_enable_rx_dma_82599(9)ixgbe_verify_fw_version_82599(9)ixgbe_verify_lesm_fw_enabled_82599(9)ixgbe_read_eeprom_buffer_82599(9)ixgbe_read_eeprom_82599(9)ixgbe_reset_pipeline_82599(9)ixgbe_read_i2c_byte_82599(9)ixgbe_write_i2c_byte_82599(9)
and that's the page, bestie π Sourced from ./drivers/net/ethernet/intel/i... (the path got a lil truncated, we don't gatekeep, it's in the ixgbe driver folder), dated October 2026, and the whole thing is filed under ixgbe_get_fdirtcpm_82599(9) β go forth and bit swap responsibly π§π
π¦ 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