batadv_v_ogm_forward(9)
π batadv_v_ogm_forward(9) π
okay so bestie, we're in the Kernel API Manual today and the star of the show is batadv_v_ogm_forward(9) β yes that's the whole title, yes it's a lot, no we're not scared of it π«Ά
β¨ NAME β¨
batadv_v_ogm_forward β the function that checks all the conditions and then forwards an OGM out the given outgoing interface π
πΈ SYNOPSIS πΈ
void batadv_v_ogm_forward (struct batadv_priv *bat_priv , const struct
batadv_ogm2_packet *ogm_received , struct batadv_orig_node *orig_node ,
struct batadv_neigh_node *neigh_node , struct batadv_hard_iface
*if_incoming , struct batadv_hard_iface *if_outgoing );
like, it returns void and takes six whole arguments. she's high maintenance and she's worth it π
π ARGUMENTS π
bat_privβ the bat priv that's holding all the mesh interface information. the main character's whole wardrobe basically πogm_receivedβ the OGM that was previously received and is now getting forwarded. it's been places, it's seen things π¦orig_nodeβ the originator that has been updated β¨neigh_nodeβ the neigh_node that the OGM came in through, iykyk πif_incomingβ the interface this OGM was received on, like, where it entered the chat πif_outgoingβ the interface the OGM has to be forwarded to. that's the exit, the departure gate, the slay π
β DESCRIPTION β
so what she does is: forward an OGM to an interface β but after having altered the throughput metric and the TTL value contained in it π₯
and here's the iconic part: the original OGM isn't modified. not one bit. she makes a copy moment and leaves the original untouched, no cap π
ngl bestie this is the important bit β the metrics get tweaked for the forwarded version, but the received packet stays exactly as it was. respect the original, periodt π
π¦ SEE ALSO π¦
Kernel file ./net/batman-adv/bat_v_ogm.c β and honestly the whole extended friend group:
batadv_v_ogm_orig_get(9)batadv_v_ogm_start_queue_timer(9)batadv_v_ogm_start_timer(9)batadv_v_ogm_send_to_if(9)batadv_v_ogm_len(9)batadv_v_ogm_queue_left(9)batadv_v_ogm_aggr_list_free(9)batadv_v_ogm_aggr_send(9)batadv_v_ogm_queue_on_if(9)batadv_v_ogm_send_meshif(9)batadv_v_ogm_send(9)batadv_v_ogm_aggr_work(9)batadv_v_ogm_iface_enable(9)batadv_v_ogm_iface_disable(9)batadv_v_ogm_primary_iface_set(9)batadv_v_forward_penalty(9)batadv_v_ogm_metric_update(9)batadv_v_ogm_route_update(9)batadv_v_ogm_process_per_outif(9)batadv_v_ogm_aggr_packet(9)batadv_v_ogm_process(9)batadv_v_ogm_packet_recv(9)batadv_v_ogm_init(9)batadv_v_ogm_free(9)
okay that's the whole page bestie, go forth and forward those OGMs responsibly π§ββοΈ
source/version: ./net/batman-adv Β· dated: October 2026 Β· batadv_v_ogm_forward(9) β mwah, see u in the kernel ππ·
π¦ 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