__hw_addr_unsync_dev(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… __hw_addr_unsync_dev(9) β€” like, the whole kernel API manual vibe

okay so bestie, welcome to the Kernel API Manual entry for __hw_addr_unsync_dev, and honestly? this one is lowkey a cleanup crew and it ate. let's get into it 🫢


✨ NAME ✨

__hw_addr_unsync_dev β€” remove synchronized addresses from device πŸ’–


🌸 SYNOPSIS 🌸

void __hw_addr_unsync_dev (struct netdev_hw_addr_list *list , struct
net_device *dev , int (*unsync)(struct net_device *, const unsigned char
*) );

like, that's it. three little arguments, no cap. πŸŽ€


πŸ¦‹ ARGUMENTS πŸ¦‹

  • list β€” the address list we're pulling the synchronized addresses out of ✨
  • dev β€” the device to sync, main character energy fr
  • unsync β€” the function to call if an address should be removed πŸ‘‘

πŸ’œ DESCRIPTION πŸ’œ

okay so here's the tea β˜• β€” this function removes all the addresses that were added to the device by __hw_addr_sync_dev. it's giving "undo my last move" and we're obsessed honestly.

it is intended to be called from the ndo_stop or ndo_open functions on devices that require explicit address add/remove notifications. iykyk β€” those devices need to be told every single thing, no assumptions πŸ’…

and here's the cute lil detail: if the unsync function pointer is NULL, then this function can be used to just reset the sync_cnt for the addresses in the list. literally that simple. no extra steps, periodt. 🌈


πŸ”₯ SEE ALSO πŸ”₯

kernel file ./net/core/dev_addr_lists.c β€” and bestie, the whole friend group is here:

__hw_addr_sync_dev(9),
__hw_addr_ref_sync_dev(9), __hw_addr_ref_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)

go read them all, i'll wait πŸ’€ (jk β€” but like, do it πŸ“)


and that's the page!! sourced from ./net/core, dated October 2026 β€” kiss kiss, go unsync those addresses bestie πŸ§šπŸ’œβ­

πŸ“¦ where this page comes from