bond_3ad_sta...hine_handler(9)
π NAME π
okay so, bestie β welcome to the Kernel API Manual page for bond_3ad_state_machine_handler (the header shows it as the truncated bond_3ad_sta...hine_handler(9), and yes, that ellipsis is literally there π). This one is all about handling state machines timeout π
.
bond_3ad_state_machine_handler β handle state machines timeout β¨
β¨ SYNOPSIS β¨
void bond_3ad_state_machine_handler (struct work_struct *work );
π«Ά ARGUMENTS π«Ά
workβ the work context to fetch the bonding struct to work on from π
π§ DESCRIPTION π§
okay so the state-machine handling concept in this module is: every tick, check which state machine should operate any function π. The execution order is round robin π, so when there's an interaction between state machines, the reply of one to each other might be delayed until the next tick π. That's the vibe β delayed reply, not forgotten, bestie.
This function also completes the initialization when agg_select_timer times out β°. It selects an aggregator for the ports that are yet not related to any aggregator, and it selects the active aggregator for a bond. slay π
.
π SEE ALSO π
The kernel file is ./drivers/net/bonding/bond_3ad.c, and here's the whole cross-reference squad, no cap π«Ά:
__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_initiate_agg_selection(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_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 whole page, bestie π«Ά the source/version line is ./drivers/net/bonding, the date is October 2026, and the footer still points back to bond_3ad_sta...hine_handler(9). periodt π
β¨
π¦ 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