idpf_addr_sync(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… idpf_addr_sync β€” Kernel API Manual realness

okay so bestie, welcome to idpf_addr_sync(9) β€” part of the Kernel API Manual and honestly kind of a whole vibe. this one's a callback, and yes it's doing the most, but it's also lowkey iconic once you get it. let's go 🫢


✨ NAME ✨

idpf_addr_sync β€” the callback for dev_(mc|uc)_sync that adds an address. that's it, that's the job πŸ’–


πŸ¦‹ SYNOPSIS πŸ¦‹

int idpf_addr_sync (struct net_device *netdev , const u8 *addr );

πŸŽ€ ARGUMENTS πŸŽ€

  • netdev β€” the netdevice, our main character πŸŽ€
  • addr β€” the address to add. the one we're syncing. slay ✨

🌸 DESCRIPTION 🌸

okay so here's the tea. this gets called by __dev_(mc|uc)_sync whenever an address needs to be added, bestie. and inside all of that, we call __dev_(uc|mc)_sync from .set_rx_mode. iykyk.

but here's the thing β€” the kernel takes the addr_list_lock spinlock, meaning we literally cannot sleep in this context 😭. not me being trapped in atomic context. so because of that, we have to add the filter and send the virtchnl message asynchronously, without waiting for the response from the other side. we're sending it and moving on, no cap.

which means… we won't know whether the operation actually succeeded or not until we get the message back πŸ™ˆ. fr fr, that's just how it is.

it returns 0 on success, and negative on failure. periodt πŸ’…


πŸ”₯ SEE ALSO πŸ”₯

Kernel file ./drivers/net/ethernet/intel/idpf/idpf_lib.c

and now the whole friend group, no one left out πŸ‘‘:


bestie reminder: addr_list_lock is held, you cannot sleep here, and the async message means you find out if it worked later. that's not me being dramatic, that's the manual πŸ’€

and that's the whole page! mwah πŸ’‹ this one lives at ./drivers/net/ethernet/intel/idpf, comes to you from October 2026, and it's signed off as idpf_addr_sync(9) β€” catch you in the next man page, love u, bye πŸ§šβ€β™€οΈπŸ’œ

πŸ“¦ where this page comes from