igb_hash_mc_addr(9)
π igb_hash_mc_addr(9) β the Kernel API Manual page bestie π
okay so picture this: you're deep in the igb driver, and you need a multicast hash value. yeah. that thing. this is the little function that gives it to you, and it's in the igb_hash_mc_addr(9) corner of the Kernel API Manual, so let's get into it π«Ά
β¨ SYNOPSIS β¨
u32 igb_hash_mc_addr (struct e1000_hw *hw , u8 *mc_addr );
like, that's it. two args, one u32 out. slay π
π ARGUMENTS π
hwβ pointer to the HW structure. your hardware noun, your whole vibe, passed by pointer obviously β¨mc_addrβ pointer to a multicast address. the actual address we're hashing bestie πΈ
π¦ DESCRIPTION π¦
so what does it do? it generates a multicast address hash value, no cap. and that hash value is what you use to figure out the multicast filter table array address and the new table value.
and where do you take it after that? straight to igb_mta_set β that's the one that actually puts it in the table, iykyk. the description literally says to see igb_mta_set for that part, so like, go see it π₯
ngl this function is a supporting character, but the whole multicast filter table plot does not work without her. main character energy in a helper function. periodt π
π SEE ALSO π
first up, the kernel file this lives in:
./drivers/net/ethernet/intel/igb/e1000_mac.c
and then the whole friend group β every single one of these, no skipping π:
igb_get_bus_info_pcie(9)igb_clear_vfta(9)igb_write_vfta(9)igb_init_rx_addrs(9)igb_find_vlvf_slot(9)igb_vfta_set(9)igb_check_alt_mac_addr(9)igb_rar_set(9)igb_mta_set(9)igb_i21x_hw_doublecheck(9)igb_update_mc_addr_list(9)igb_clear_hw_cntrs_base(9)igb_check_for_copper_link(9)igb_setup_link(9)igb_config_collision_dist(9)igb_set_fc_watermarks(9)igb_set_default_fc(9)igb_force_mac_fc(9)igb_config_fc_after_link_up(9)igb_get_speed_and_duplex_copper(9)igb_get_hw_semaphore(9)igb_put_hw_semaphore(9)igb_get_auto_rd_done(9)igb_valid_led_default(9)igb_id_led_init(9)igb_cleanup_led(9)igb_blink_led(9)igb_led_off(9)igb_disable_pcie_master(9)igb_validate_mdi_setting(9)igb_write_8bit_ctrl_reg(9)igb_enable_mng_pass_thru(9)
and that's the page!! π source/version is ./drivers/net/ethernet/intel/igb and it's dated October 2026, so like, mark your calendars bestie ποΈπ bye ily, go hash a multicast address 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