__hw_addr_sync_dev(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ __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:


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