1 # SPDX-License-Identifier: GPL-2.0
2 # Copyright (C) 2007-2020 B.A.T.M.A.N. contributors:
4 # Marek Lindner, Simon Wunderlich
7 # B.A.T.M.A.N meshing protocol
11 tristate "B.A.T.M.A.N. Advanced Meshing Protocol"
15 B.A.T.M.A.N. (better approach to mobile ad-hoc networking) is
16 a routing protocol for multi-hop ad-hoc mesh networks. The
17 networks may be wired or wireless. See
18 https://www.open-mesh.org/ for more information and user space
21 config BATMAN_ADV_BATMAN_V
22 bool "B.A.T.M.A.N. V protocol"
23 depends on BATMAN_ADV && !(CFG80211=m && BATMAN_ADV=y)
26 This option enables the B.A.T.M.A.N. V protocol, the successor
27 of the currently used B.A.T.M.A.N. IV protocol. The main
28 changes include splitting of the OGM protocol into a neighbor
29 discovery protocol (Echo Location Protocol, ELP) and a new OGM
30 Protocol OGMv2 for flooding protocol information through the
31 network, as well as a throughput based metric.
32 B.A.T.M.A.N. V is currently considered experimental and not
33 compatible to B.A.T.M.A.N. IV networks.
36 bool "Bridge Loop Avoidance"
37 depends on BATMAN_ADV && INET
41 This option enables BLA (Bridge Loop Avoidance), a mechanism
42 to avoid Ethernet frames looping when mesh nodes are connected
43 to both the same LAN and the same mesh. If you will never use
44 more than one mesh node in the same LAN, you can safely remove
45 this feature and save some space.
48 bool "Distributed ARP Table"
49 depends on BATMAN_ADV && INET
52 This option enables DAT (Distributed ARP Table), a DHT based
53 mechanism that increases ARP reliability on sparse wireless
54 mesh networks. If you think that your network does not need
55 this option you can safely remove it and save some space.
61 This option enables network coding, a mechanism that aims to
62 increase the overall network throughput by fusing multiple
63 packets in one transmission.
64 Note that interfaces controlled by batman-adv must be manually
65 configured to have promiscuous mode enabled in order to make
67 If you think that your network does not need this feature you
68 can safely disable it and save some space.
70 config BATMAN_ADV_MCAST
71 bool "Multicast optimisation"
72 depends on BATMAN_ADV && INET && !(BRIDGE=m && BATMAN_ADV=y)
75 This option enables the multicast optimisation which aims to
76 reduce the air overhead while improving the reliability of
79 config BATMAN_ADV_DEBUGFS
80 bool "batman-adv debugfs entries"
84 Enable this to export routing related debug tables via debugfs.
85 The information for each soft-interface and used hard-interface can be
86 found under batman_adv/
90 config BATMAN_ADV_DEBUG
91 bool "B.A.T.M.A.N. debugging"
94 This is an option for use by developers; most people should
95 say N here. This enables compilation of support for
96 outputting debugging information to the debugfs log or tracing
97 buffer. The output is controlled via the batadv netdev specific
100 config BATMAN_ADV_SYSFS
101 bool "batman-adv sysfs entries"
102 depends on BATMAN_ADV
104 Say Y here if you want to enable batman-adv device configuration and
105 status interface through sysfs attributes. It is replaced by the
106 batadv generic netlink family but still used by various userspace
111 config BATMAN_ADV_TRACING
112 bool "B.A.T.M.A.N. tracing support"
113 depends on BATMAN_ADV
114 depends on EVENT_TRACING
116 This is an option for use by developers; most people should
117 say N here. Select this option to gather traces like the debug
118 messages using the generic tracing infrastructure of the kernel.
119 BATMAN_ADV_DEBUG must also be selected to get trace events for