|  | # SPDX-License-Identifier: GPL-2.0 | 
|  | # Copyright (C) 2007-2019  B.A.T.M.A.N. contributors: | 
|  | # | 
|  | # Marek Lindner, Simon Wunderlich | 
|  |  | 
|  | # | 
|  | # B.A.T.M.A.N meshing protocol | 
|  | # | 
|  |  | 
|  | config BATMAN_ADV | 
|  | tristate "B.A.T.M.A.N. Advanced Meshing Protocol" | 
|  | depends on NET | 
|  | select LIBCRC32C | 
|  | help | 
|  | B.A.T.M.A.N. (better approach to mobile ad-hoc networking) is | 
|  | a routing protocol for multi-hop ad-hoc mesh networks. The | 
|  | networks may be wired or wireless. See | 
|  | https://www.open-mesh.org/ for more information and user space | 
|  | tools. | 
|  |  | 
|  | config BATMAN_ADV_BATMAN_V | 
|  | bool "B.A.T.M.A.N. V protocol" | 
|  | depends on BATMAN_ADV && !(CFG80211=m && BATMAN_ADV=y) | 
|  | default y | 
|  | help | 
|  | This option enables the B.A.T.M.A.N. V protocol, the successor | 
|  | of the currently used B.A.T.M.A.N. IV protocol. The main | 
|  | changes include splitting of the OGM protocol into a neighbor | 
|  | discovery protocol (Echo Location Protocol, ELP) and a new OGM | 
|  | Protocol OGMv2 for flooding protocol information through the | 
|  | network, as well as a throughput based metric. | 
|  | B.A.T.M.A.N. V is currently considered experimental and not | 
|  | compatible to B.A.T.M.A.N. IV networks. | 
|  |  | 
|  | config BATMAN_ADV_BLA | 
|  | bool "Bridge Loop Avoidance" | 
|  | depends on BATMAN_ADV && INET | 
|  | select CRC16 | 
|  | default y | 
|  | help | 
|  | This option enables BLA (Bridge Loop Avoidance), a mechanism | 
|  | to avoid Ethernet frames looping when mesh nodes are connected | 
|  | to both the same LAN and the same mesh. If you will never use | 
|  | more than one mesh node in the same LAN, you can safely remove | 
|  | this feature and save some space. | 
|  |  | 
|  | config BATMAN_ADV_DAT | 
|  | bool "Distributed ARP Table" | 
|  | depends on BATMAN_ADV && INET | 
|  | default y | 
|  | help | 
|  | This option enables DAT (Distributed ARP Table), a DHT based | 
|  | mechanism that increases ARP reliability on sparse wireless | 
|  | mesh networks. If you think that your network does not need | 
|  | this option you can safely remove it and save some space. | 
|  |  | 
|  | config BATMAN_ADV_NC | 
|  | bool "Network Coding" | 
|  | depends on BATMAN_ADV | 
|  | help | 
|  | This option enables network coding, a mechanism that aims to | 
|  | increase the overall network throughput by fusing multiple | 
|  | packets in one transmission. | 
|  | Note that interfaces controlled by batman-adv must be manually | 
|  | configured to have promiscuous mode enabled in order to make | 
|  | network coding work. | 
|  | If you think that your network does not need this feature you | 
|  | can safely disable it and save some space. | 
|  |  | 
|  | config BATMAN_ADV_MCAST | 
|  | bool "Multicast optimisation" | 
|  | depends on BATMAN_ADV && INET && !(BRIDGE=m && BATMAN_ADV=y) | 
|  | default y | 
|  | help | 
|  | This option enables the multicast optimisation which aims to | 
|  | reduce the air overhead while improving the reliability of | 
|  | multicast messages. | 
|  |  | 
|  | config BATMAN_ADV_DEBUGFS | 
|  | bool "batman-adv debugfs entries" | 
|  | depends on BATMAN_ADV | 
|  | depends on DEBUG_FS | 
|  | help | 
|  | Enable this to export routing related debug tables via debugfs. | 
|  | The information for each soft-interface and used hard-interface can be | 
|  | found under batman_adv/ | 
|  |  | 
|  | If unsure, say N. | 
|  |  | 
|  | config BATMAN_ADV_DEBUG | 
|  | bool "B.A.T.M.A.N. debugging" | 
|  | depends on BATMAN_ADV | 
|  | help | 
|  | This is an option for use by developers; most people should | 
|  | say N here. This enables compilation of support for | 
|  | outputting debugging information to the debugfs log or tracing | 
|  | buffer. The output is controlled via the batadv netdev specific | 
|  | log_level setting. | 
|  |  | 
|  | config BATMAN_ADV_SYSFS | 
|  | bool "batman-adv sysfs entries" | 
|  | depends on BATMAN_ADV | 
|  | default y | 
|  | help | 
|  | Say Y here if you want to enable batman-adv device configuration and | 
|  | status interface through sysfs attributes. It is replaced by the | 
|  | batadv generic netlink family but still used by various userspace | 
|  | tools and scripts. | 
|  |  | 
|  | If unsure, say Y. | 
|  |  | 
|  | config BATMAN_ADV_TRACING | 
|  | bool "B.A.T.M.A.N. tracing support" | 
|  | depends on BATMAN_ADV | 
|  | depends on EVENT_TRACING | 
|  | help | 
|  | This is an option for use by developers; most people should | 
|  | say N here. Select this option to gather traces like the debug | 
|  | messages using the generic tracing infrastructure of the kernel. | 
|  | BATMAN_ADV_DEBUG must also be selected to get trace events for | 
|  | batadv_dbg. |