bond_3ad_update_lacp_rate(9)
π bond_3ad_update_lacp_rate(9) β from the Kernel API Manual π
okay so first things first, bestie: the manual name is bond_3ad_update_lacp_rate(9) and it lives in the Kernel API Manual β that's the vibe. this is a kernel function page, section 9, and it's all about changing the LACP rate. let's get into it β¨
β¨ NAME β¨
bond_3ad_update_lacp_rate β literally just "change the lacp rate" π« no cap, that's the whole job.
π¦ SYNOPSIS π¦
void bond_3ad_update_lacp_rate (struct bonding *bond );
it returns void (so, nothing, she gives nothing back and that's iconic), and it takes exactly one argument. periodt.
πΈ ARGUMENTS πΈ
bondβ the bonding struct π«Ά that's it, that's the parameter. it's yourstruct bonding *and she's the main character of this whole function.
π DESCRIPTION π
okay so here's the tea β β when you modify the lacp_rate parameter via sysfs, this function goes in and updates actor_oper_port_state of each port. every single one. she's thorough like that π
and the important bit, do not skip this: it holds bond->mode_lock, so we can modify port->actor_oper_port_state β no matter whether bond is up or down. up? down? doesn't matter, the lock's got it covered π₯
bestie pls note: the bond->mode_lock hold is the whole reason this is safe regardless of the bond's up/down state, so don't go thinking you can skip it π
π SEE ALSO π
all the sibling functions, in the order the page gives them β Kernel file ./drivers/net/bonding/bond_3ad.c:
__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_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_active(9)
like, that's the whole 3ad friend group and they all showed up to the party π
π§ sign-off π§
this lil page came from ./drivers/net/bonding (that's the source, bestie π) and it's dated October 2026 β so mark your calendars, she's from the future β anyway ily, go hold that mode_lock ππ
π¦ 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