dev_mc_sync_multiple(9)
π dev_mc_sync_multiple β the kernel API manual moment
ok so real talk, bestie, this page lives in the Kernel API Manual (section 9, the kernel-internals one, iykyk) and it's about dev_mc_sync_multiple β synchronizing a device's multicast list over to another device, except it lets you do the multiple-device thing. no cap, that's the whole vibe.
β¨ NAME β¨
dev_mc_sync_multiple β synchronize a device's multicast list to another device, but allow for multiple calls to sync to multiple devices π¦
πΈ SYNOPSIS πΈ
int dev_mc_sync_multiple (struct net_device *to , struct net_device *from );
like, that's it. two pointers, one int. iconic.
π ARGUMENTS π
toβ the destination device. the one getting the addresses, the main character receiving the glow-up πfromβ the source device. the one handing its addresses over, generous queen π«Ά
π DESCRIPTION π
okay so here's what actually happens: it adds the newly added addresses to the destination device, and releases addresses that have no users left. cleanup AND handoff, we love a multitasker β¨
β οΈ important, bestie: the source device must be locked by netif_addr_lock_bh. do not skip this. we are not doing unlocked chaos today π
this function is intended to be called from the ndo_set_rx_mode function of layered software devices. and the whole point β the reason it's the _multiple one and not just regular dev_mc_sync β is that it allows a single source device to be synced to multiple destination devices. one source, many destinations. sharing is caring, fr fr π
π¦ SEE ALSO π¦
everything in the kernel file ./net/core/dev_addr_lists.c, plus the whole friend group:
__hw_addr_sync_dev(9)__hw_addr_ref_sync_dev(9)__hw_addr_ref_unsync_dev(9)__hw_addr_unsync_dev(9)__hw_addr_list_snapshot(9)__hw_addr_list_reconcile(9)dev_addr_flush(9)dev_addr_init(9)dev_addr_add(9)dev_addr_del(9)dev_uc_add_excl(9)dev_uc_add(9)dev_uc_del(9)dev_uc_sync(9)dev_uc_sync_multiple(9)dev_uc_unsync(9)dev_uc_flush(9)dev_uc_init(9)dev_mc_add_excl(9)dev_mc_add(9)dev_mc_add_global(9)dev_mc_del(9)dev_mc_del_global(9)dev_mc_sync(9)dev_mc_unsync(9)dev_mc_flush(9)dev_mc_init(9)netif_uc_promisc_update(9)__dev_set_rx_mode(9)netif_rx_mode_sync(9)
and that's the page!! π this little gem comes from ./net/core and it's dated October 2026 β so yeah, it's giving future-kernel energy πβ¨ mwah, go lock your source device, bestie π
π¦ 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