batadv_hop_penalty(9)
π batadv_hop_penalty(9) β the kernel API manual, bestie edition
okay so this is a page from the Kernel API Manual and it's literally all about batadv_hop_penalty β like, the tiny little function that takes your TQ value and hits it with the hop penalty stick π It's one of those batman-adv internals that lives in ./net/batman-adv/bat_iv_ogm.c, so yeah, mesh brain stuff. iykyk π¦
β¨ NAME β¨
batadv_hop_penalty β apply the configured hop penalty to a TQ value. that's it, that's the whole job π
πΈ SYNOPSIS πΈ
u8 batadv_hop_penalty (u8 tq , const struct batadv_priv *bat_priv );
like, it takes a u8 and hands you back a u8. no drama, no cap β¨
π ARGUMENTS π
tqβ the input TQ value, aka the poor little number that's about to get reduced πbat_privβ the bat priv, which is holding all the mesh interface information. the main character struct fr fr π
π RETURN π
it returns the TQ value after the hop penalty has been applied β so like, the same value but post-glow-down π β¨
π¦ SEE ALSO π¦
bestie, this list is long and i'm obsessed with how thorough it is. it all kicks off in the kernel file ./net/batman-adv/bat_iv_ogm.c, and then:
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_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_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)
ngl there's no danger here, it's just a TQ value getting its hop penalty applied. go read the batch of them if you want the whole lore π«Ά
and that's the whole page, bestie!! this one's from the source tree ./net/batman-adv, dated October 2026 β keep it in your bookmarks, it's iconic ππβ
π¦ 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