__update_ntt(9)
π
__update_ntt(9) β Kernel API Manual, bestie edition π
okay so first of all, this is a page from the Kernel API Manual (section 9, the kernel-functions girlies) and it's literally all about __update_ntt. yes we're in the bonding driver. yes it's about LACP. no you don't have to be scared. sit down, bestie, I got you π«Ά
β¨ NAME β¨
__update_ntt β update a port's ntt variable from a received lacpdu
like, that's the whole gig. one tiny flag, one big vibe check. π
πΈ SYNOPSIS πΈ
void __update_ntt (struct lacpdu *lacpdu , struct port *port );
returns nothing, changes something. classic. no cap.
π¦ ARGUMENTS π¦
lacpduβ thelacpduwe've received. this is the incoming tea β, freshly delivered.portβ the port we're looking at. the main character whosenttwe're about to maybe touch π₯
π DESCRIPTION π
So. The whole job here is updating the value of the ntt variable, using parameter values from a newly received lacpdu. That's it. That's the function. π
Here's the lore: the parameter values for the partner carried in the received PDU get compared with the corresponding operational parameter values for the Actor. Think of it like a vibe check between what your partner says they are and what your actual live settings are. π
If one or more of the comparisons shows that the value(s) received in the PDU differ from the current operational values, then ntt is set to TRUE. Basically: something changed, so ntt gets to be true, slay. β¨
Otherwise β and this is important, bestie β ntt remains unchanged. Not set to false. Not reset. Just left alone to live its life. π§
literally nothing happens in the "no diff" case, and that's on purpose. don't go reading extra behaviour into it π
π SEE ALSO π
the whole friend group, fr fr β all of these live in the 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)__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_rate(9)bond_3ad_update_lacp_active(9)
that's fifty-seven besties. I counted. we're not doing "etc." in this house π
okay that's the page!! this one's brought to you by ./drivers/net/bonding, dated October 2026, and it's serving Kernel API Manual energy from the very first line. go update your ntt, icon. πΈβ¨π
π¦ 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