STRUCT BATADV_ORIG_IFINFO(9)
π struct batadv_orig_ifinfo β originator info per outgoing interface
okay bestie, so this is a page from the Kernel API Manual, section 9 (kernel structs, the fun ones). It's literally just describing one struct, and the struct is giving "one originator, seen through one outgoing interface" β that's the whole vibe. Let's get into it π«Ά
β¨ SYNOPSIS β¨
Here's the whole shape of it, exactly as it lives in the kernel, no cap:
struct batadv_orig_ifinfo {
struct hlist_node list;
struct batadv_hard_iface *if_outgoing;
struct batadv_neigh_node *router;
u32 last_real_seqno;
u8 last_ttl;
u32 last_seqno_forwarded;
unsigned long batman_seqno_reset;
struct batadv_orig_ifinfo_bat_iv bat_iv;
struct kref refcount;
struct rcu_head rcu;
};
πΈ Members πΈ
Like, every field, one by one, no skipping π
listβ the list node that hooks this thing intobatadv_orig_node.ifinfo_list. It's how this struct finds its people π―if_outgoingβ pointer to the outgoing hard-interface. The specific interface this info is about π¦routerβ the router that should be used to reach this originator. Your main character route β¨last_real_seqnoβ the last and best known sequence number. Both. It's an overachiever π₯last_ttlβ the ttl of the last received packet πlast_seqno_forwardedβ the seqno of the OGM that was forwarded last. Very "I remember what I sent" of it πbatman_seqno_resetβ the time when the batman seqno window was reset β°bat_ivβ the B.A.T.M.A.N. IV private structure. Its own little private club π§refcountβ the number of contexts the object is used. Basically its group chat member count πrcuβ the struct used for freeing in an RCU-safe manner. Cleanup, but make it safe π
π SEE ALSO π
Heads up: this is a long one. The kernel file this page points at is ./net/batman-adv/types.h, and then it just keeps going, and going, and going. All of these, fr fr:
batadv_dat_addr_t(9), enum batadv_dhcp_recipient(9), BATADV_TT_REMOTE_MASK(9), BATADV_TT_SYNC_MASK(9), struct batadv_ogm_buf(9), struct batadv_hard_iface_bat_iv(9), enum batadv_v_hard_iface_flags(9), struct batadv_hard_iface_bat_v(9), enum batadv_hard_iface_wifi_flags(9), struct batadv_wifi_net_device_state(9), struct batadv_hard_iface(9), struct batadv_orig_ifinfo_bat_iv(9), struct batadv_frag_table_entry(9), struct batadv_frag_list_entry(9), struct batadv_vlan_tt(9), struct batadv_orig_node_vlan(9), struct batadv_orig_bat_iv(9), struct batadv_orig_node(9), enum batadv_orig_capabilities(9), struct batadv_gw_node(9), struct batadv_hardif_neigh_node_bat_v(9), struct batadv_hardif_neigh_node(9), struct batadv_neigh_node(9), struct batadv_neigh_ifinfo_bat_iv(9), struct batadv_neigh_ifinfo_bat_v(9), struct batadv_neigh_ifinfo(9), struct batadv_bcast_duplist_entry(9), enum batadv_counters(9), struct batadv_priv_tt(9), struct batadv_priv_bla(9), struct batadv_priv_gw(9), struct batadv_priv_tvlv(9), struct batadv_priv_dat(9), struct batadv_mcast_querier_state(9), struct batadv_mcast_mla_flags(9), struct batadv_priv_mcast(9), struct batadv_tp_unacked(9), struct batadv_tp_vars_common(9), struct batadv_tp_sender_cc(9), struct batadv_tp_sender(9), struct batadv_tp_receiver(9), struct batadv_meshif_vlan(9), struct batadv_priv_bat_v(9), struct batadv_priv(9), enum batadv_bla_backbone_gw_state(9), struct batadv_bla_backbone_gw(9), struct batadv_bla_claim(9), struct batadv_tt_common_entry(9), struct batadv_tt_local_entry(9), struct batadv_tt_global_entry(9), struct batadv_tt_orig_list_entry(9), struct batadv_tt_change_node(9), struct batadv_tt_req_node(9), struct batadv_tt_roam_node(9), struct batadv_skb_cb(9), struct batadv_forw_packet(9), struct batadv_algo_iface_ops(9), struct batadv_algo_neigh_ops(9), struct batadv_algo_orig_ops(9), struct batadv_algo_gw_ops(9), struct batadv_algo_ops(9), struct batadv_dat_entry(9), struct batadv_hw_addr(9), struct batadv_dat_candidate(9), struct batadv_tvlv_container(9), struct batadv_tvlv_handler(9), enum batadv_tvlv_handler_flags(9).
Likeβ¦ that's the whole friend group. Iconic. π
π the sign-off π
This little masterpiece lives at ./net/batman-adv in the kernel tree, and it's dated October 2026. That's the version, that's the source, that's the whole footer, mwah π bye bestie!! π
π¦ 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