__update_selected(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ¦‹ __update_selected(9) πŸ¦‹

okay so bestie, welcome to the Kernel API Manual β€” yes it's giving serious business, but honestly this one is kinda cute once you get it πŸ’…


🌸 NAME 🌸

__update_selected β€” the little function that updates a port's Selected variable based on a lacpdu we just received πŸ’Œ


✨ SYNOPSIS ✨

void __update_selected (struct lacpdu *lacpdu , struct port *port );

πŸŽ€ ARGUMENTS πŸŽ€

  • lacpdu β€” literally the lacpdu we've received, the whole reason we're here 🫢
  • port β€” the port we're looking at, main character energy tbh πŸ‘‘

πŸ’– DESCRIPTION πŸ’–

So what this does is update the value of the selected variable, using parameter values from a newly received lacpdu. Like, fresh off the wire ✨

Here's the vibe: the parameter values for the Actor carried in the received PDU get compared with the corresponding operational parameter values for the port's partner. Very side-by-side, very comparison-core 🌈

And if one or more of the comparisons shows that the value(s) received in the PDU differ from the current operational values? Then selected gets set to FALSE and actor_oper_port_state.synchronization gets set to out_of_sync. Not me breaking the news πŸ˜­πŸ’€

Otherwise β€” and this is the chill path β€” selected remains unchanged. Slay, nothing to do πŸŽ€

ngl, the whole thing hinges on those comparisons, so if the values match up, we just vibe and leave selected alone. No cap.

πŸ‘‘ SEE ALSO πŸ‘‘

Kernel file ./drivers/net/bonding/bond_3ad.c β€” and like, the entire extended friend group:


and that's the whole page, bestie πŸ§šπŸ’œ

shoutout to ./drivers/net/bonding β€” the source/version vibe check β€” dated October 2026, so yes she's from the future and she's still iconic πŸ’€βœ¨

πŸ“¦ where this page comes from