igc_force_mac_fc(9)
π igc_force_mac_fc π
okay so welcome to the igc_force_mac_fc(9) page from the Kernel API Manual, bestie β yes, the actual Kernel API Manual, and this function is lowkey doing MAC flow-control glamour work. β¨
πΈ NAME πΈ
igc_force_mac_fc β force the MAC's flow control settings, periodt π
π¦ SYNOPSIS π¦
s32 igc_force_mac_fc (struct igc_hw *hw );
π ARGUMENTS π
hwβ pointer to the HW structure, aka your little handle to the hardware situation π«Ά
β¨ DESCRIPTION β¨
So this one literally forces the MAC's flow control settings. It sets the TFCE and RFCE bits in the device control register so they reflect the adapter settings β yes, those exact bits, no cap.
TFCE and RFCE need to be explicitly set by software when a copper PHY is used, because autonegotiation is managed by the PHY rather than the MAC. Software must also configure these bits when link is forced on a fiber connection. That's the whole vibe check: software has to do the setting in those cases. π
π SEE ALSO π
Kernel file:
./drivers/net/ethernet/intel/igc/igc_mac.c
also go peek at these besties:
igc_disable_pcie_master(9)igc_init_rx_addrs(9)igc_set_fc_watermarks(9)igc_setup_link(9)igc_clear_hw_cntrs_base(9)igc_rar_set(9)igc_check_for_copper_link(9)igc_config_collision_dist(9)igc_config_fc_after_link_up(9)igc_get_auto_rd_done(9)igc_get_speed_and_duplex_copper(9)igc_put_hw_semaphore(9)igc_enable_mng_pass_thru(9)igc_hash_mc_addr(9)igc_update_mc_addr_list(9)
cute sign-off time: this page lives under ./drivers/net/ethernet/intel/igc, dated October 2026, and it's igc_force_mac_fc(9) β bye bestie, slay your flow control πβ¨
π¦ 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