batadv_iv_ogm_receive(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… batadv_iv_ogm_receive(9) β€” the Kernel API Manual, bestie edition πŸ¦‹

okay so picture this: it's a Kernel API Manual page (that's the manual name, iykyk ✨) and the star of the show is batadv_iv_ogm_receive. literally the moment a B.A.T.M.A.N. IV OGM packet rolls up to the door. let's get into it πŸŽ€


✨ NAME ✨

batadv_iv_ogm_receive β€” receive a B.A.T.M.A.N. IV OGM packet πŸ’Œ


🫢 SYNOPSIS 🫢

int batadv_iv_ogm_receive (struct sk_buff *skb , struct
batadv_hard_iface *if_incoming );

that's the whole signature, no cap. two args, one int coming back at you πŸ”₯


🌸 ARGUMENTS 🌸

  • skb β€” the skb that's carrying the OGM packet. this is the main character of the whole function, tbh πŸ‘‘
  • if_incoming β€” the interface where the packet got received. the "where did this come from" of it all 🧚

πŸ’– DESCRIPTION πŸ’–

so here's the tea, bestie πŸ“

First up: the packet gets validated. vibe check, essentially β€” no sketchy packets getting through on this function's watch πŸ’…

Then the glow-up happens: the aggregated OGM packet gets split into individual OGMs (one big packet becoming a bunch of little ones, iconic behaviour honestly), and each one of those gets handed off to batadv_iv_ogm_process. very "here you go, bestie, take it from here" 🫢

and the big one: ownership of skb is always taken over by this function. not sometimes. not "if it feels like it." always. so don't go freeing it yourself afterwards, that's not your job anymore 😭

🌈 RETURN 🌈

NET_RX_SUCCESS or NET_RX_DROP β€” that's the whole menu, two options, pick your fighter ⭐


πŸ‘‘ SEE ALSO πŸ‘‘

like, so many friends. the whole batman-adv extended universe fr fr 🌸 head to Kernel file ./net/batman-adv/bat_iv_ogm.c for the source, and then:

that's the entire friend group. no one left behind πŸ’œ


okay that's the page!! mwah πŸ’‹ this one shipped out from ./net/batman-adv back in October 2026 β€” so like, technically future-core of it all, but the manual said it so I said it πŸ¦‹βœ¨ go read the source, ily, bye πŸŽ€

πŸ“¦ where this page comes from