__hw_addr_sync_dev(9)
β¨ __hw_addr_sync_dev (9) β¨
okay so bestie, we're in the Kernel API Manual today and this one is lowkey iconic β it's all about keeping your device's multicast list in sync π coming at you straight from the kernel docs, no cap.
πΈ NAME πΈ
__hw_addr_sync_dev β Synchronize device's multicast list π¦
π SYNOPSIS π
int __hw_addr_sync_dev (struct netdev_hw_addr_list *list , struct
net_device *dev , int (*sync)(struct net_device *, const unsigned char
*) , int (*unsync)(struct net_device *, const unsigned char *) );
like, yes, that's a whole lot of function pointer action, but we move π
π ARGUMENTS π
listβ the address list you're synchronizing, bestie. this is the thing getting the glow-up β¨devβ the device we're syncing. main character energy fr πsyncβ the function to call if an address should be added πunsyncβ the function to call if an address should be removed π«Ά
π§ DESCRIPTION π§
so this function is intended to be called from the ndo_set_rx_mode function of devices that require explicit address add/remove notifications. iykyk β those devices wanna be told directly, they don't do vibes-based updates π
and here's the cute part: the unsync function may be NULL, in which case the addresses requiring removal will simply be removed without any notification to the device. no call, no text back, they're just gone π periodt.
ngl that NULL behavior is legit β it's documented right there, so don't come for me. but your device does not get a heads-up, so keep that in mind π
π₯ SEE ALSO π₯
Kernel file ./net/core/dev_addr_lists.c, plus the whole friend group:
__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_sync_multiple(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)
okay that's the whole page, you ate that π stay hydrated, go touch some kernel source, and remember: sync your lists, bestie π
this lil masterpiece lives in ./net/core, dated October 2026, and it's filed under __hw_addr_sync_dev(9) β mwah, bye πβ¨
π¦ 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