ad_agg_selection_logic(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… ad_agg_selection_logic β€” Kernel API Manual ✨

okay so bestie, welcome to the Kernel API Manual page for ad_agg_selection_logic(9) β€” the function that picks which aggregation group gets to be that girl for a team πŸŽ€. Let's get into it.


🌸 NAME

ad_agg_selection_logic β€” select an aggregation group for a team 🫢


✨ SYNOPSIS

void ad_agg_selection_logic (struct aggregator *agg , bool
*update_slave_arr );

πŸŽ€ ARGUMENTS

  • agg β€” the aggregator we're looking at πŸ‘€ lowkey the main character of this whole operation
  • update_slave_arr β€” does the slave array need an update? bestie's just asking, answer honestly πŸ’…

πŸ’– DESCRIPTION

so the vibe here is: it is assumed that only one aggregator may be selected for a team. one. singular. no sharing, no polyamory, one agg per team periodt βœ‹

the logic of this function is to select the aggregator according to the ad_select policy, and here's the whole menu πŸ“:

  • BOND_AD_STABLE β€” select the aggregator with the most ports attached to it, and reselect the active aggregator only if the previous aggregator has no more ports related to it. like, she keeps the crown until she literally has nobody left πŸ’€
  • BOND_AD_BANDWIDTH β€” select the aggregator with the highest total bandwidth, and reselect whenever a link state change takes place or the set of slaves in the bond changes πŸ”₯
  • BOND_AD_COUNT β€” select the aggregator with the largest number of ports (slaves), and reselect whenever a link state change takes place or the set of slaves in the bond changes ⭐
  • BOND_AD_PRIO β€” select the aggregator with the highest total priority of ports (slaves), and reselect whenever a link state change takes place or the set of slaves in the bond changes πŸ‘‘
FIXME: this function MUST be called with the first agg in the bond, or __get_active_agg won't work correctly 😭 no cap, it will just Not Work. This function should be better called with the bond itself, and retrieve the first agg from it. (yes that's a "would be better if" note straight from the source, not me guessing πŸ™ˆ)

πŸ¦‹ SEE ALSO

the whole friend group, kernel file ./drivers/net/bonding/bond_3ad.c πŸ’œ:


and that's the page, bestie πŸ§šβ€β™€οΈ this one lives in ./drivers/net/bonding, dated October 2026, and it's filed under ad_agg_selection_logic(9) β€” go pick your aggregator wisely πŸ’…βœ¨

πŸ“¦ where this page comes from