igb_update_..._with_offset(9)
π igb_update_nvm_checksum_with_offset(9) π
okay so bestie, welcome to the Kernel API Manual β yes that's the whole manual name and yes this one lil function lives in there. It's an EEPROM checksum updater. It's giving "quietly keeping your NIC honest" energy and honestly? iconic. π
β¨ NAME β¨
igb_update_nvm_checksum_with_offset β update that EEPROM checksum, no cap π
π¦ SYNOPSIS π¦
s32 igb_update_nvm_checksum_with_offset (struct e1000_hw *hw , u16
offset );
like, it takes your hw struct pointer and a u16 offset and hands you back an s32. that's the whole vibe check. β¨
πΈ ARGUMENTS πΈ
hwβ pointer to the HW structure. your main character struct, fr.offsetβ offset in words of the checksum protected region. words, not bytes, bestie β don't come for me, that's what it says. π«Ά
π DESCRIPTION π
So what does it do? It updates the EEPROM checksum by reading/adding each word of the EEPROM up to the checksum. Then it calculates the EEPROM checksum and writes the value to the EEPROM. That's it. That's the whole storyline. π
lowkey the way it just reads every word, adds them up, and then yeets the calculated checksum back into the EEPROM... slay. it ate and left no crumbs. π₯
π§ SEE ALSO π§
Kernel file ./drivers/net/ethernet/intel/igb/e1000_82575.c β that's where the source lives, iykyk π
and like, the whole extended friend group of functions:
igb_write_vfta_i350(9)igb_sgmii_uses_mdio_82575(9)igb_check_for_link_media_swap(9)igb_init_phy_params_82575(9)igb_init_nvm_params_82575(9)igb_init_mac_params_82575(9)igb_set_sfp_media_type_82575(9)igb_acquire_phy_82575(9)igb_release_phy_82575(9)igb_read_phy_reg_sgmii_82575(9)igb_write_phy_reg_sgmii_82575(9)igb_get_phy_id_82575(9)igb_phy_hw_reset_sgmii_82575(9)igb_set_d0_lplu_state_82575(9)igb_set_d0_lplu_state_82580(9)igb_set_d3_lplu_state_82580(9)igb_acquire_nvm_82575(9)igb_release_nvm_82575(9)igb_acquire_swfw_sync_82575(9)igb_release_swfw_sync_82575(9)igb_get_cfg_done_82575(9)igb_get_link_up_info_82575(9)igb_check_for_link_82575(9)igb_power_up_serdes_link_82575(9)igb_get_pcs_speed_and_duplex_82575(9)igb_shutdown_serdes_link_82575(9)igb_reset_hw_82575(9)igb_init_hw_82575(9)igb_setup_copper_link_82575(9)igb_setup_serdes_link_82575(9)igb_sgmii_active_82575(9)igb_reset_init_script_82575(9)igb_read_mac_addr_82575(9)igb_power_down_phy_copper_82575(9)igb_clear_hw_cntrs_82575(9)igb_rx_fifo_flush_82575(9)igb_set_pcie_completion_timeout(9)igb_vmdq_set_anti_spoofing_pf(9)igb_vmdq_set_loopback_pf(9)igb_vmdq_set_replication_pf(9)igb_read_phy_reg_82580(9)igb_write_phy_reg_82580(9)igb_reset_mdicnfg_82580(9)igb_reset_hw_82580(9)igb_rxpbs_adjust_82580(9)igb_validate_nvm_checksum_with_offset(9)igb_validate_nvm_checksum_82580(9)igb_update_nvm_checksum_82580(9)igb_validate_nvm_checksum_i350(9)igb_update_nvm_checksum_i350(9)__igb_access_emi_reg(9)igb_read_emi_reg(9)igb_set_eee_i350(9)igb_set_eee_i354(9)igb_get_eee_status_i354(9)igb_get_thermal_sensor_data_generic(9)igb_init_thermal_sensor_thresh_generic(9)
like. that's the whole group chat. every single one of them made the list and we're not cutting anybody. π
fr fr bestie, if you were looking for drama, this page has none β it's just a checksum doing its lil job. but it's our checksum. π
and that's a wrap! this page was served fresh from ./drivers/net/ethernet/intel/igb, dated October 2026, and we're logging off. 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