bond_3ad_in...gg_selection(9)
π
bond_3ad_initiate_agg_selection β like, the whole page
okay bestie, so this is a page straight outta the Kernel API Manual (yes, that's the manual name, it's giving very serious business) and it's about one tiny little function that kicks off aggregator selection. no cap, it's short, but we're gonna treat it with the respect it deserves π
β¨ NAME β¨
bond_3ad_initiate_agg_selection β initate aggregator selection
yes, "initate" is spelled exactly like that in the original, and no, we are NOT fixing it, we are respectfully leaving it exactly where it is π (iykyk)
πΈ SYNOPSIS πΈ
void bond_3ad_initiate_agg_selection (struct bonding *bond , int timeout
);
π¦ ARGUMENTS π¦
bondβ the bonding struct. this is the main character, the whole vibe, the thing we're operating on πtimeoutβ the timeout value to set. you hand it a number, it does something with it, slay π₯
π DESCRIPTION π
so what does it actually do, you ask? it sets the aggregation selection timer so that an agg selection gets initiated in the very near future. like, not right now, not eventually β very near future. that's the whole thing. short king behavior honestly π«Ά
it gets called in two situations:
- during the first initialization
- during any down to up transitions of the bond
and that's it, that's the function. ten out of ten, no notes β¨
π SEE ALSO π
if you wanna go deeper (and bestie, you do), everything here lives in the Kernel file ./drivers/net/bonding/bond_3ad.c β and here's the full cast of characters, literally the entire 3ad cinematic universe π¬:
__get_bond_by_port(9)__get_first_agg(9)__agg_has_partner(9)__disable_distributing_port(9)__enable_collecting_port(9)__disable_port(9)__enable_port(9)__port_move_to_attached_state(9)__port_is_collecting_distributing(9)__get_agg_selection_mode(9)__check_agg_selection_timer(9)__get_link_speed(9)__get_duplex(9)__ad_timer_to_ticks(9)__choose_matched(9)__record_pdu(9)__record_default(9)__update_selected(9)__update_default_selected(9)__update_ntt(9)__agg_ports_are_ready(9)__set_agg_ports_ready(9)__get_agg_bandwidth(9)__get_active_agg(9)__update_lacpdu_from_port(9)ad_lacpdu_send(9)ad_marker_send(9)ad_mux_machine(9)ad_rx_machine(9)ad_churn_machine(9)ad_tx_machine(9)ad_periodic_machine(9)ad_port_selection_logic(9)ad_agg_selection_logic(9)ad_clear_agg(9)ad_initialize_agg(9)ad_initialize_port(9)ad_enable_collecting(9)ad_disable_distributing(9)ad_enable_collecting_distributing(9)ad_disable_collecting_distributing(9)ad_marker_info_received(9)ad_marker_response_received(9)bond_3ad_initialize(9)bond_3ad_bind_slave(9)bond_3ad_unbind_slave(9)bond_3ad_update_ad_actor_settings(9)bond_agg_timer_advance(9)bond_3ad_state_machine_handler(9)bond_3ad_rx_indication(9)ad_update_actor_keys(9)bond_3ad_adapter_speed_duplex_changed(9)bond_3ad_handle_link_change(9)bond_3ad_set_carrier(9)__bond_3ad_get_active_agg_info(9)bond_3ad_update_lacp_rate(9)bond_3ad_update_lacp_active(9)
and that's the page!! mwah π this came to you from the source ./drivers/net/bonding, dated October 2026, in the Kernel API Manual β go forth and initiate your agg selection, bestie, you've got this ππ
π¦ 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