batadv_iv_ogm_aggregate(9)
π batadv_iv_ogm_aggregate π
okay so bestie, welcome to the batadv_iv_ogm_aggregate(9) page from the Kernel API Manual β yes, that Kernel API Manual, the one we all pretend to read. this one's short and sweet ngl, it's giving "tiny function, big friend group" energy, because look at that SEE ALSO list. literally everyone showed up to the party. π
β¨ NAME β¨
batadv_iv_ogm_aggregate β append an OGM to an existing aggregated forward packet π¦
like, you already have a bundle of OGMs (an aggregated forward packet, we love her), and this function just... adds one more OGM onto it. no cap, that's the whole vibe. π«Ά
πΈ SYNOPSIS πΈ
void batadv_iv_ogm_aggregate (struct batadv_forw_packet
*forw_packet_aggr , const unsigned char *packet_buff , int packet_len ,
bool direct_link );
it returns void, so don't go looking for a return value, there isn't one, periodt. π
π ARGUMENTS π
forw_packet_aggrβ the aggregated forward packet you're extending. she's the main character here, the one getting the new OGM appended to her. πpacket_buffβ pointer to the OGM you're about to append. that's the new kid joining the group chat. β¨packet_lenβ length of the OGM to append. gotta know how many bytes we're sliding in there, iykyk. πdirect_linkβtrueifpacket_buffwas received as a direct link OGM. so, is this OGM coming from a direct link situation or not? that's the whole question, bestie. π
lowkey important: those two direct_link cases are distinguishable, and the flag is exactly how the function knows which one it's dealing with. no guessing, just facts. π
π₯ SEE ALSO π₯
okay this list. this list is long, and honestly every single one of them is an icon in her own right β presented, in order, no skips, no cuts, we respect the whole lineup π
- Kernel file
./net/batman-adv/bat_iv_ogm.c enum batadv_dup_status(9)batadv_ring_buffer_set(9)batadv_ring_buffer_avg(9)batadv_iv_ogm_orig_get(9)batadv_iv_ogm_neigh_new(9)batadv_iv_ogm_iface_enable(9)batadv_iv_ogm_iface_disable(9)batadv_iv_ogm_iface_update_mac(9)batadv_iv_ogm_primary_iface_set(9)batadv_iv_ogm_emit_send_time(9)batadv_iv_ogm_fwd_send_time(9)batadv_hop_penalty(9)batadv_iv_ogm_aggr_packet(9)batadv_iv_ogm_send_to_if(9)batadv_iv_ogm_emit(9)batadv_iv_ogm_can_aggregate(9)batadv_iv_ogm_aggregate_new(9)batadv_iv_ogm_queue_add(9)batadv_iv_ogm_forward(9)batadv_iv_ogm_slide_own_bcast_window(9)batadv_iv_ogm_schedule_buff(9)batadv_iv_ogm_schedule(9)batadv_iv_ogm_reschedule(9)batadv_iv_orig_ifinfo_sum(9)batadv_iv_ogm_neigh_ifinfo_sum(9)batadv_iv_ogm_orig_update(9)batadv_iv_ogm_calc_tq(9)batadv_iv_ogm_update_seqnos(9)batadv_orig_to_direct_router(9)batadv_iv_ogm_process_per_outif(9)batadv_iv_ogm_process_reply(9)batadv_iv_ogm_process(9)batadv_iv_send_outstanding_bat_ogm_packet(9)batadv_iv_ogm_receive(9)batadv_iv_ogm_neigh_get_tq_avg(9)batadv_iv_ogm_orig_dump_subentry(9)batadv_iv_ogm_orig_dump_entry(9)batadv_iv_ogm_orig_dump_bucket(9)batadv_iv_ogm_orig_dump(9)batadv_iv_ogm_neigh_diff(9)batadv_iv_ogm_neigh_dump_neigh(9)batadv_iv_ogm_neigh_dump_hardif(9)batadv_iv_ogm_neigh_dump(9)batadv_iv_ogm_neigh_cmp(9)batadv_iv_ogm_neigh_is_sob(9)batadv_iv_iface_enabled(9)batadv_iv_init_sel_class(9)batadv_iv_gw_get_best_gw_node(9)batadv_iv_gw_is_eligible(9)batadv_iv_gw_dump_entry(9)batadv_iv_gw_dump(9)batadv_iv_init(9)batadv_iv_deinit(9)
fr fr, if you read all fifty-plus of those you're genuinely built different ππ
and that's the whole page, bestie! π§ tiny function, flawless execution, we stan. this little gem lives in ./net/batman-adv, dated October 2026, and it's part of the Kernel API Manual β so go forth and aggregate responsibly, mwah ππ
π¦ 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