dev_addr_del(9)
π dev_addr_del(9) π
okay so bestie, welcome to dev_addr_del β it's a page from the Kernel API Manual and honestly it's giving "small function, big responsibility" energy. Let's get into it π«Ά
β¨ NAME β¨
dev_addr_del β release a device address π
like, let it go, it's not your address anymore.
πΈ SYNOPSIS πΈ
int dev_addr_del (struct net_device *dev , const unsigned char *addr ,
unsigned char addr_type );
that's the whole vibe. three args, one int coming back at you β¨
π ARGUMENTS π
devβ the device, bestie. the actualstruct net_devicewe're messing with π»addrβ the address to delete ποΈ the one getting evicted, no capaddr_typeβ the address type π·οΈ gotta say what kind of address it is
π¦ DESCRIPTION π¦
so here's the tea β: dev_addr_del releases the reference to a device address and removes it from the device if the reference count drops to zero β like, the refcount has to hit zero before it actually gets the boot π’. not before. the count says when. periodt.
β οΈ okay this is the important part, do NOT skip it: the caller must hold the rtnl_mutex. fr fr. that's not a suggestion, that's a lock requirement, and if you're out here calling this without it that's a you problem π
π₯ SEE ALSO π₯
okay this list is LONG and honestly kind of iconic β the whole friend group showed up π
- Kernel file
./net/core/dev_addr_lists.cβ the home base π __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_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)
like I said. the whole squad π
and that's the page, bestie!! π§π
this lil masterpiece lives in ./net/core, dated October 2026, and it's filed under dev_addr_del(9) in the Kernel API Manual β so when you need it again you know exactly where to look πβ¨ go forth and release those addresses responsibly π
π¦ 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