bond_3ad_ad...plex_changed(9)
πΈ bond_3ad_adapter_speed_duplex_changed πΈ
okay so bestie, welcome to the Kernel API Manual π this one's about bond_3ad_adapter_speed_duplex_changed(9) β yes the whole name, we're saying it with our chest. It's a lil function in the bonding/3ad world and it's lowkey iconic for what it does, so let's get into it β¨
β¨ NAME β¨
bond_3ad_adapter_speed_duplex_changed β the function that handles a slave's speed / duplex change indication π¦ like it's the one who gets told "hey, this port's vibes changed" and then deals with it accordingly.
π SYNOPSIS π
void bond_3ad_adapter_speed_duplex_changed (struct slave *slave );
that's it. that's the whole signature. void return, one argument, no notes π
π ARGUMENTS π
slaveβ theslavestruct to work on π«Ά like, this is the port we're doing the work for, that's the whole assignment.
π DESCRIPTION π
So what does it actually do? It handles reselection of the aggregator (if needed) for this port. That's the tea β β "if needed" is doing a lot of heavy lifting there, so don't come for it. The function checks the situation, and when it's warranted, it kicks off the aggregator reselection for this port. periodt β¨
π SEE ALSO π
bestie. bestie. get comfy, we got a whole friend group here π every single one of these is from the kernel file ./drivers/net/bonding/bond_3ad.c β go say hi:
__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_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)
that's the whole group chat, no one left on read ππ
ngl this one's a short read β but hey, the small ones still slay π don't sleep on it.
and that's a wrap, bestie! from ./drivers/net/bonding, dated October 2026, with love β that's your bond_3ad_ad...plex_changed(9) page, signed, sealed, and delivered π§ββοΈπ
β¨
π¦ 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