wx_update_mc_addr_list(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… wx_update_mc_addr_list β€” kernel API manual, bestie edition

okay so you found the wx_update_mc_addr_list(9) page, welcome, come sit with me 🫢 this one lives in the Kernel API Manual and it's genuinely so useful once it clicks.


✨ NAME ✨

wx_update_mc_addr_list β€” updates the MAC list of multicast addresses πŸŽ€ no cap, that's literally the whole job.


🌸 SYNOPSIS 🌸

void wx_update_mc_addr_list (struct wx *wx , struct net_device *netdev );

that's it. that's the whole signature. void in, void out, no return value to stress about πŸ’–


πŸ¦‹ ARGUMENTS πŸ¦‹

  • wx β€” pointer to the private structure. your lil driver's personal stash of everything it needs πŸ‘‘
  • netdev β€” pointer to the net device structure. the actual network device we're doing this for ✨

πŸ’œ DESCRIPTION πŸ’œ

okay so here's the tea, bestie. the given list replaces any existing list β€” not merges, not appends, replaces. so whatever was there before? gone. periodt.

it clears the MC addrs from the receive address registers and the multicast table first, then it does the actual work:

  • uses the unused receive address registers for the first multicast addresses (slots are free, might as well slay πŸ’…)
  • hashes the rest into the multicast table, because there's only so many registers and the rest gotta go somewhere 🌈

so like, first ones get the VIP seats, everyone else gets hashed into the general admission table. iconic behavior honestly.


πŸ”₯ SEE ALSO πŸ”₯

kernel file: ./drivers/net/ethernet/wangxun/libwx/wx_hw.c β€” go read it, iykyk πŸ“–

then the whole friend group:

wx_irq_disable(9), wx_mng_present(9), wx_release_sw_sync(9), wx_acquire_sw_sync(9), wx_host_interface_command(9), wx_read_ee_hostif_data(9), wx_read_ee_hostif(9), wx_read_ee_hostif_buffer(9), wx_init_eeprom_params(9), wx_get_mac_addr(9), wx_set_rar(9), wx_clear_rar(9), wx_clear_vmdq(9), wx_init_uta_tables(9), wx_init_rx_addrs(9), wx_write_uc_addr_list(9), wx_mta_vector(9), wx_set_mta(9), wx_write_mc_addr_list(9), wx_set_mac(9), wx_set_rxpba(9), wx_hpbthresh(9), wx_lpbthresh(9), wx_pbthresh_setup(9), wx_disable_sec_rx_path(9), wx_enable_sec_rx_path(9), wx_change_mtu(9), wx_configure_tx(9), wx_configure_rx(9), wx_disable_pcie_master(9), wx_stop_adapter(9), wx_get_pcie_msix_counts(9), wx_init_rss_key(9), wx_find_vlvf_slot(9), wx_set_vlvf(9), wx_set_vfta(9), wx_clear_vfta(9), wx_update_stats(9), wx_clear_hw_cntrs(9), wx_start_hw(9)

that's a lot of cousins but they're all valid, go say hi 🧚


πŸ’€ reminder: this is the Wangxun (wangxun) ethernet driver family, file lives under ./drivers/net/ethernet/wangxun... β€” that's where the source is at, don't go looking in the wrong folder bestie.

and that's the page! πŸŽ€ sourced from the wangxun driver path ./drivers/net/ethernet/wangxun..., Kernel API Manual, dated October 2026, page wx_update_mc_addr_list(9). mwah, go forth and multicast responsibly πŸ’–βœ¨πŸŒΈ

πŸ“¦ where this page comes from