batadv_iv_og...h_get_tq_avg(9)
π
batadv_iv_ogm_neigh_get_tq_avg β like, the Kernel API Manual page, bestie π
okay so picture this: we're deep in the Kernel API Manual, right, and the star of the show is batadv_iv_ogm_neigh_get_tq_avg. yes that's a whole mouthful, no i will not be shortening it, it's iconic and it knows it β¨
πΈ NAME πΈ
batadv_iv_ogm_neigh_get_tq_avg β get the TQ average for a neighbour on a given outgoing interface. that's it. that's the whole vibe check π
π¦ SYNOPSIS π¦
bool batadv_iv_ogm_neigh_get_tq_avg (struct batadv_neigh_node
*neigh_node , struct batadv_hard_iface *if_outgoing , u8 *tq_avg );
like look at that signature. she's got three params and a bool return, main character energy fr fr π
β¨ ARGUMENTS β¨
neigh_nodeβ the neighbour of interest π« like, this one, the one we're being nosy aboutif_outgoingβ the outgoing interface of interest π°οΈ the specific path we're checking ontq_avgβ pointer of where to store the TQ average π it's au8 *, so it's literally pointing at where the answer goes. she's a storage pointer, she holds the goods
π₯ RETURN π₯
False if no average TQ available, otherwise true.
so basically: no average? False, sorry babe π. got one? true, slay π
. lowkey the most honest return value ever.
π SEE ALSO π
okay this is the part where the manpage goes absolutely feral and name-drops the entire neighbourhood. not me listing all of them, but also β every single one of these is required, so here we go, no skipping, periodt π«Ά
- the 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_aggregate(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_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)
like?? that's the whole friend group π they all showed up to the party and honestly? respect.
π real talk though:batadv_iv_ogm_neigh_get_tq_avgreturnsFalsewhen there's simply no average TQ to hand you β that's not a bug, that's just her boundaries.
okay that's the page!! mwah π this one lives at ./net/batman-adv, stamped October 2026, and it's literally titled batadv_iv_og...h_get_tq_avg(9) β yes the ellipsis is part of the name, don't come for her, she's been through enough π§ββοΈπ
π¦ 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