ENUM BATADV_NL_ATTRS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– enum batadv_nl_attrs(9) πŸ’–

okay bestie, so this is a page from the Kernel API Manual and it's literally about enum batadv_nl_attrs β€” the batman-adv netlink attributes. it's giving "the master list of every attribute name the batman-adv netlink interface fumbles around with" and you're gonna read all of it, no skipping ✨


πŸ¦‹ SYNOPSIS πŸ¦‹

enum batadv_nl_attrs {
    BATADV_ATTR_UNSPEC ,
    BATADV_ATTR_VERSION ,
    BATADV_ATTR_ALGO_NAME ,
    BATADV_ATTR_MESH_IFINDEX ,
    BATADV_ATTR_MESH_IFNAME ,
    BATADV_ATTR_MESH_ADDRESS ,
    BATADV_ATTR_HARD_IFINDEX ,
    BATADV_ATTR_HARD_IFNAME ,
    BATADV_ATTR_HARD_ADDRESS ,
    BATADV_ATTR_ORIG_ADDRESS ,
    BATADV_ATTR_TPMETER_RESULT ,
    BATADV_ATTR_TPMETER_TEST_TIME ,
    BATADV_ATTR_TPMETER_BYTES ,
    BATADV_ATTR_TPMETER_COOKIE ,
    BATADV_ATTR_PAD ,
    BATADV_ATTR_ACTIVE ,
    BATADV_ATTR_TT_ADDRESS ,
    BATADV_ATTR_TT_TTVN ,
    BATADV_ATTR_TT_LAST_TTVN ,
    BATADV_ATTR_TT_CRC32 ,
    BATADV_ATTR_TT_VID ,
    BATADV_ATTR_TT_FLAGS ,
    BATADV_ATTR_FLAG_BEST ,
    BATADV_ATTR_LAST_SEEN_MSECS ,
    BATADV_ATTR_NEIGH_ADDRESS ,
    BATADV_ATTR_TQ ,
    BATADV_ATTR_THROUGHPUT ,
    BATADV_ATTR_BANDWIDTH_UP ,
    BATADV_ATTR_BANDWIDTH_DOWN ,
    BATADV_ATTR_ROUTER ,
    BATADV_ATTR_BLA_OWN ,
    BATADV_ATTR_BLA_ADDRESS ,
    BATADV_ATTR_BLA_VID ,
    BATADV_ATTR_BLA_BACKBONE ,
    BATADV_ATTR_BLA_CRC ,
    BATADV_ATTR_DAT_CACHE_IP4ADDRESS ,
    BATADV_ATTR_DAT_CACHE_HWADDRESS ,
    BATADV_ATTR_DAT_CACHE_VID ,
    BATADV_ATTR_MCAST_FLAGS ,
    BATADV_ATTR_MCAST_FLAGS_PRIV ,
    BATADV_ATTR_VLANID ,
    BATADV_ATTR_AGGREGATED_OGMS_ENABLED ,
    BATADV_ATTR_AP_ISOLATION_ENABLED ,
    BATADV_ATTR_ISOLATION_MARK ,
    BATADV_ATTR_ISOLATION_MASK ,
    BATADV_ATTR_BONDING_ENABLED ,
    BATADV_ATTR_BRIDGE_LOOP_AVOIDANCE_ENABLED ,
    BATADV_ATTR_DISTRIBUTED_ARP_TABLE_ENABLED ,
    BATADV_ATTR_FRAGMENTATION_ENABLED ,
    BATADV_ATTR_GW_BANDWIDTH_DOWN ,
    BATADV_ATTR_GW_BANDWIDTH_UP ,
    BATADV_ATTR_GW_MODE ,
    BATADV_ATTR_GW_SEL_CLASS ,
    BATADV_ATTR_HOP_PENALTY ,
    BATADV_ATTR_LOG_LEVEL ,
    BATADV_ATTR_MULTICAST_FORCEFLOOD_ENABLED ,
    BATADV_ATTR_NETWORK_CODING_ENABLED ,
    BATADV_ATTR_ORIG_INTERVAL ,
    BATADV_ATTR_ELP_INTERVAL ,
    BATADV_ATTR_THROUGHPUT_OVERRIDE ,
    BATADV_ATTR_MULTICAST_FANOUT ,
    __BATADV_ATTR_AFTER_LAST ,
    NUM_BATADV_ATTR ,
    BATADV_ATTR_MAX

};

✨ Constants ✨

like, the actual roster πŸ’… each one of these is a netlink attribute, and here's what each one is for:

  • BATADV_ATTR_UNSPEC β€” the "unspecified" attribute, and its whole job is catching errors 🫢
  • BATADV_ATTR_VERSION β€” the batman-adv version string
  • BATADV_ATTR_ALGO_NAME β€” name of the routing algorithm
  • BATADV_ATTR_MESH_IFINDEX β€” index of the batman-adv interface
  • BATADV_ATTR_MESH_IFNAME β€” name of the batman-adv interface
  • BATADV_ATTR_MESH_ADDRESS β€” mac address of the batman-adv interface
  • BATADV_ATTR_HARD_IFINDEX β€” index of the non-batman-adv interface
  • BATADV_ATTR_HARD_IFNAME β€” name of the non-batman-adv interface
  • BATADV_ATTR_HARD_ADDRESS β€” mac address of the non-batman-adv interface
  • BATADV_ATTR_ORIG_ADDRESS β€” originator mac address
  • BATADV_ATTR_TPMETER_RESULT β€” result of the run (see batadv_tp_meter_status)
  • BATADV_ATTR_TPMETER_TEST_TIME β€” time (msec) the run took
  • BATADV_ATTR_TPMETER_BYTES β€” amount of acked bytes during the run
  • BATADV_ATTR_TPMETER_COOKIE β€” session cookie to match the tp_meter session
  • BATADV_ATTR_PAD β€” attribute used for padding for 64-bit alignment
  • BATADV_ATTR_ACTIVE β€” flag indicating if the hard interface is active
  • BATADV_ATTR_TT_ADDRESS β€” client MAC address
  • BATADV_ATTR_TT_TTVN β€” translation table version
  • BATADV_ATTR_TT_LAST_TTVN β€” previous translation table version
  • BATADV_ATTR_TT_CRC32 β€” CRC32 over the translation table
  • BATADV_ATTR_TT_VID β€” VLAN ID
  • BATADV_ATTR_TT_FLAGS β€” translation table client flags
  • BATADV_ATTR_FLAG_BEST β€” flags indicating the entry is the best
  • BATADV_ATTR_LAST_SEEN_MSECS β€” time in milliseconds since last seen
  • BATADV_ATTR_NEIGH_ADDRESS β€” neighbour MAC address
  • BATADV_ATTR_TQ β€” TQ to the neighbour
  • BATADV_ATTR_THROUGHPUT β€” estimated throughput to the neighbour
  • BATADV_ATTR_BANDWIDTH_UP β€” reported uplink bandwidth
  • BATADV_ATTR_BANDWIDTH_DOWN β€” reported downlink bandwidth
  • BATADV_ATTR_ROUTER β€” gateway router MAC address
  • BATADV_ATTR_BLA_OWN β€” flag indicating own originator
  • BATADV_ATTR_BLA_ADDRESS β€” bridge loop avoidance claim MAC address
  • BATADV_ATTR_BLA_VID β€” BLA VLAN ID
  • BATADV_ATTR_BLA_BACKBONE β€” BLA gateway originator MAC address
  • BATADV_ATTR_BLA_CRC β€” BLA CRC
  • BATADV_ATTR_DAT_CACHE_IP4ADDRESS β€” client IPv4 address
  • BATADV_ATTR_DAT_CACHE_HWADDRESS β€” client MAC address
  • BATADV_ATTR_DAT_CACHE_VID β€” VLAN ID
  • BATADV_ATTR_MCAST_FLAGS β€” per originator multicast flags
  • BATADV_ATTR_MCAST_FLAGS_PRIV β€” private, own multicast flags
  • BATADV_ATTR_VLANID β€” VLAN id on top of the mesh interface
  • BATADV_ATTR_AGGREGATED_OGMS_ENABLED β€” whether the batman protocol messages of the mesh interface shall be aggregated or not.
  • BATADV_ATTR_AP_ISOLATION_ENABLED β€” whether the data traffic going from a wireless client to another wireless client will be silently dropped.
  • BATADV_ATTR_ISOLATION_MARK β€” the isolation mark which is used to classify clients as "isolated" by the Extended Isolation feature.
  • BATADV_ATTR_ISOLATION_MASK β€” the isolation (bit)mask which is used to classify clients as "isolated" by the Extended Isolation feature.
  • BATADV_ATTR_BONDING_ENABLED β€” whether the data traffic going through the mesh will be sent using multiple interfaces at the same time.
  • BATADV_ATTR_BRIDGE_LOOP_AVOIDANCE_ENABLED β€” whether the bridge loop avoidance feature is enabled. This feature detects and avoids loops between the mesh and devices bridged with the mesh interface
  • BATADV_ATTR_DISTRIBUTED_ARP_TABLE_ENABLED β€” whether the distributed arp table feature is enabled. This feature uses a distributed hash table to answer ARP requests without flooding the request through the whole mesh.
  • BATADV_ATTR_FRAGMENTATION_ENABLED β€” whether the data traffic going through the mesh will be fragmented or silently discarded if the packet size exceeds the outgoing interface MTU.
  • BATADV_ATTR_GW_BANDWIDTH_DOWN β€” defines the download bandwidth which is propagated by this node if BATADV_ATTR_GW_BANDWIDTH_MODE was set to 'server'.
  • BATADV_ATTR_GW_BANDWIDTH_UP β€” defines the upload bandwidth which is propagated by this node if BATADV_ATTR_GW_BANDWIDTH_MODE was set to 'server'.
  • BATADV_ATTR_GW_MODE β€” defines the state of the gateway features. Possible values are specified in enum batadv_gw_modes
  • BATADV_ATTR_GW_SEL_CLASS β€” defines the selection criteria this node will use to choose a gateway if gw_mode was set to 'client'.
  • BATADV_ATTR_HOP_PENALTY β€” defines the penalty which will be applied to an originator message's tq-field on every hop and/or per hard interface
  • BATADV_ATTR_LOG_LEVEL β€” bitmask with to define which debug messages should be send to the debug log/trace ring buffer
  • BATADV_ATTR_MULTICAST_FORCEFLOOD_ENABLED β€” whether multicast optimizations should be replaced by simple broadcast-like flooding of multicast packets. If set to non-zero then all nodes in the mesh are going to use classic flooding for any multicast packet with no optimizations.
  • BATADV_ATTR_NETWORK_CODING_ENABLED β€” whether Network Coding (using some magic to send fewer wifi packets but still the same content) is enabled or not.
  • BATADV_ATTR_ORIG_INTERVAL β€” defines the interval in milliseconds in which batman sends its protocol messages.
  • BATADV_ATTR_ELP_INTERVAL β€” defines the interval in milliseconds in which batman emits probing packets for neighbor sensing (ELP).
  • BATADV_ATTR_THROUGHPUT_OVERRIDE β€” defines the throughput value to be used by B.A.T.M.A.N. V when estimating the link throughput using this interface. If the value is set to 0 then batman-adv will try to estimate the throughput by itself.
  • BATADV_ATTR_MULTICAST_FANOUT β€” defines the maximum number of packet copies that may be generated for a multicast-to-unicast conversion. Once this limit is exceeded distribution will fall back to broadcast.
  • __BATADV_ATTR_AFTER_LAST β€” internal use πŸ™ˆ
  • NUM_BATADV_ATTR β€” total number of batadv_nl_attrs available
  • BATADV_ATTR_MAX β€” highest attribute number currently defined πŸ‘‘

🌈 SEE ALSO 🌈

the kernel file ./include/uapi/linux/batman_adv.h enum, plus the whole friend group:

  • batadv_tt_client_flags(9)
  • enum batadv_mcast_flags_priv(9)
  • enum batadv_gw_modes(9)
  • enum batadv_nl_commands(9)
  • enum batadv_tp_meter_reason(9)
  • enum batadv_ifla_attrs(9)

and that's the whole page, bestie, no cap πŸ’€ it lives in ./include/uapi/linux and this cutie's dated October 2026 β€” go read the whole attribute list again if you need to, it's lowkey iconic πŸŽ€βœ¨πŸ’œ

πŸ“¦ where this page comes from