STRUCT BATADV_ALGO_ORIG_OPS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct batadv_algo_orig_ops πŸ¦‹

okay so bestie, welcome to the Kernel API Manual ✨ β€” we're literally about to look at one (1) tiny struct from the batman-adv world and honestly? she's small but she's important. πŸŽ€


🌸 NAME 🌸

struct batadv_algo_orig_ops β€” the mesh algorithm callbacks, but specifically the originator-specific ones πŸ’– lowkey niche, highkey necessary.


✨ SYNOPSIS ✨

struct batadv_algo_orig_ops {
    void (*dump)(struct sk_buff *msg, struct netlink_callback *cb,
struct batadv_priv *priv, struct batadv_hard_iface *hard_iface);
 };

like. that's the whole struct. one (1) function pointer. she's minimal, she's chic, she ate πŸ’…


🫢 Members 🫢

  • dump β€” dumps originators out to a netlink socket. and bestie, listen β€” this one is optional πŸ‘€ so if a mesh algo doesn't implement it, that's valid, not a vibe fail, we don't judge. 🌈
fr fr the whole struct is just this. no cap. don't go looking for more fields, there are none, I checked, we're done here 🧚

πŸ”₯ SEE ALSO πŸ”₯

okay so this is the part where the manpage just. goes off. πŸ’€ it's giving "linked list of everyone at the party." all of these live in the kernel file ./net/batman-adv/types.h and honestly the guestlist is long so buckle up bestie:

  • 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_orig_ifinfo(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_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 I said. iconic turnout. πŸ’œ the algorithm-ops siblings (batadv_algo_iface_ops, batadv_algo_neigh_ops, batadv_algo_gw_ops) are right there too if you wanna meet the whole family 😭


and that's the whole page bestie, we did it πŸŽ‰ this little gem comes to you from ./net/batman-adv and it's dated October 2026 β€” go forth and dump those originators responsibly πŸ“πŸ’–πŸ¦‹

πŸ“¦ where this page comes from