ENUM BATADV_ORIG_CAPABILITIES(9)
π enum batadv_orig_capabilities(9) β like, the Kernel API Manual, but make it cute π
okay so bestie, gather round, because we're about to talk about enum batadv_orig_capabilities, which is literally the "what can this orig node actually do" list. yes, that's the whole name: enum batadv_orig_capabilities - orig node capabilities. it's giving "little enum, big responsibilities" energy and honestly? iconic. β¨
πΈ SYNOPSIS πΈ
here's the shape of it, and yes you're gonna want to copy it exactly because we do not freestyle C:
enum batadv_orig_capabilities {
BATADV_ORIG_CAPA_HAS_DAT ,
BATADV_ORIG_CAPA_HAS_TT ,
BATADV_ORIG_CAPA_HAS_MCAST
};
three constants, no cap. that's the whole squad π«Ά
β¨ Constants β¨
okay so each one of these is a little flag saying "this orig node has this going on." let's meet them π
BATADV_ORIG_CAPA_HAS_DATβ this orig node has the distributed arp table enabled. yes, the DAT. she's distributed and she's arp-ing. π₯BATADV_ORIG_CAPA_HAS_TTβ this orig node has the tt capability. iconic, we love a translation table moment. π¦BATADV_ORIG_CAPA_HAS_MCASTβ this orig node has some multicast capability, and to be super precise about it: it means the orig node announces a tvlv of typeBATADV_TVLV_MCAST. periodt. π
no extra lore here, bestie β the manpage says exactly these three and that's what we're giving you. don't go inventing a fourth one π
π SEE ALSO π
this is the part where the manpage just, like, dumps its entire friend group on you. so many cross-references. it's giving "mutuals list" and I'm obsessed. all of these live over in the kernel file ./net/batman-adv/types.h π
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)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, seventy-ish entries. she's thorough. we respect it. π
okay that's the whole page, bestie, you ate that π and for the little sign-off moment: this whole thing comes from ./net/batman-adv, dated October 2026 β so yeah, read it, learn it, and go be the main character of your own mesh network ππβ¨
π¦ 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