ad_marker_send(9)
π ad_marker_send β like, the whole page, bestie π
Okay so this is a page from the Kernel API Manual, and we're talking about ad_marker_send(9). Buckle up, it's a short one but it's iconic. β¨
πΈ NAME πΈ
ad_marker_send β bestie, this is the one that sends marker information/response on a given port. That's it, that's the vibe. π
π¦ SYNOPSIS π¦
int ad_marker_send (struct port *port , struct bond_marker *marker );
No cap, that's the whole signature. She takes two pointers and returns an int. Simple. Elegant. Main character energy. π
π ARGUMENTS π
portβ the port we're looking at. Like, literally the actual port we're clocking rn. πmarkerβ the marker data to send. This is the payload, the moment, the whole reason we're here. π«Ά
β RETURN β
0on success π< 0on error π
That's the entire contract. Zero means slay, anything negative means it's giving "something went wrong" β periodt.
π§ SEE ALSO π§
So this is where it gets unhinged (affectionate). All of these live in the Kernel file ./drivers/net/bonding/bond_3ad.c, and honestly the friend group is huge. Every single one, no skipping:
__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_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)
Like I said. Huge friend group. Read them all, iykyk. π
That's the whole page, bestie β short, sweet, and fully documented. π
Source and version vibes: this one's filed under ./drivers/net/bonding, dated October 2026. Mwah, go touch some LACP. π
π¦ 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