STRUCT BATADV_ORIG_IFINFO(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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 into batadv_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