__hw_addr_ref_unsync_dev(9)
π
__hw_addr_ref_unsync_dev(9) β like, the un-sync one
okay so bestie, welcome to the Kernel API Manual page for __hw_addr_ref_unsync_dev, and honestly? she's the cleanup crew of the address-syncing world. nobody throws her a parade but everybody needs her π§Ήβ¨
πΈ NAME πΈ
__hw_addr_ref_unsync_dev β remove the synchronized addresses (and the references on them, yes those too) from a device, no cap
β¨ SYNOPSIS β¨
void __hw_addr_ref_unsync_dev (struct netdev_hw_addr_list *list , struct
net_device *dev , int (*unsync)(struct net_device *, const unsigned char
*, int) );
like yeah, three args, one void, she's not returning anything to you, she's just done π
π ARGUMENTS π
listβ the address list we're cleaning out. this is where the synchronized addresses (and the references on 'em) get evicted from. π§³devβ the device we're syncing. the whole point, the main character, the moment π«Άunsyncβ a function to call if an address and the references on it should be removed. like a little callback bestie who handles the actual yeeting. π₯
π¦ DESCRIPTION π¦
so like. __hw_addr_ref_unsync_dev removes all the addresses that were added to the device by __hw_addr_ref_sync_dev. it's the undo button, the "never mind," the taking-your-shoes-off-at-the-door of address lists. π
she's intended to be called from the ndo_stop or ndo_open functions, specifically on devices that require explicit address (or references on it) add/remove notifications. those picky devices. we love them anyway. π
π and here's the tea: if theunsyncfunction pointer isNULL, this function can be used to just reset thesync_cntfor the addresses in the list. that's it, that's the vibe check. no callback, no removal, just a lil counter reset. π
π SEE ALSO π
go read these next, iykyk β kernel file ./net/core/dev_addr_lists.c is where the whole squad lives:
__hw_addr_sync_dev(9)__hw_addr_ref_sync_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)
and that's the whole page, bestie π«Ά mwah π β this iconic little number comes to you from ./net/core, dated October 2026, and she's filed under __hw_addr_ref_unsync_dev(9) forever and ever β¨ππ
π¦ 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