batadv_iv_o...ss_per_outif(9)
π batadv_iv_ogm_process_per_outif β Kernel API Manual β¨
okay so bestie, this page lives in the Kernel API Manual, and its page name is batadv_iv_o...ss_per_outif(9) (yes the title got truncated with dots, that's just how it is, no cap). Buckle up, we're doing batman-adv internals π¦π
πΈ NAME πΈ
batadv_iv_ogm_process_per_outif β process a batman iv OGM for an outgoing interface
Like, it's the function that handles one OGM (that's an Originator Message, iykyk) with a specific outgoing interface in mind. Main character energy π₯
β¨ SYNOPSIS β¨
void batadv_iv_ogm_process_per_outif (const struct sk_buff *skb , int
ogm_offset , struct batadv_orig_node *orig_node , struct
batadv_hard_iface *if_incoming , struct batadv_hard_iface *if_outgoing
);
It returns void, so literally nothing comes back β it just does its thing π
π ARGUMENTS π
skbβ the skb containing the OGM π (the packet buffer, bestie, that's where the good stuff lives)ogm_offsetβ offset fromskb->datato start of ogm header. so like, where the actual OGM header begins inside the buffer β¨orig_nodeβ the (cached) orig node for the originator of this OGM π note the cached β it's the one already hanging out in the cacheif_incomingβ the interface where this packet was received π«Ά like, where it came in fromif_outgoingβ the interface for which the packet should be considered π the one we're evaluating this OGM for
π¦ SEE ALSO π¦
Kernel file: ./net/batman-adv/bat_iv_ogm.c β that's the home turf of all this π
And now the full friend group, no one gets left out (there are a lot of them, so brace yourself π):
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_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 bestie, if you actually read through that whole SEE ALSO list you're a real one π«Άπ
so that's the whole page! This one came from the kernel source tree path ./net/batman-adv, dated October 2026, and it's filed under the manual name batadv_iv_o...ss_per_outif(9). Go forth and process those OGMs, queen ππ
β¨
π¦ 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