19969ffa8SSven Eckelmann# SPDX-License-Identifier: GPL-2.0 26b1aea8cSSven Eckelmann# Copyright (C) 2007-2018 B.A.T.M.A.N. contributors: 39969ffa8SSven Eckelmann# 49969ffa8SSven Eckelmann# Marek Lindner, Simon Wunderlich 59969ffa8SSven Eckelmann# 69969ffa8SSven Eckelmann# This program is free software; you can redistribute it and/or 79969ffa8SSven Eckelmann# modify it under the terms of version 2 of the GNU General Public 89969ffa8SSven Eckelmann# License as published by the Free Software Foundation. 99969ffa8SSven Eckelmann# 109969ffa8SSven Eckelmann# This program is distributed in the hope that it will be useful, but 119969ffa8SSven Eckelmann# WITHOUT ANY WARRANTY; without even the implied warranty of 129969ffa8SSven Eckelmann# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 139969ffa8SSven Eckelmann# General Public License for more details. 149969ffa8SSven Eckelmann# 159969ffa8SSven Eckelmann# You should have received a copy of the GNU General Public License 169969ffa8SSven Eckelmann# along with this program; if not, see <http://www.gnu.org/licenses/>. 179969ffa8SSven Eckelmann 18c6c8fea2SSven Eckelmann# 19c6c8fea2SSven Eckelmann# B.A.T.M.A.N meshing protocol 20c6c8fea2SSven Eckelmann# 21c6c8fea2SSven Eckelmann 22c6c8fea2SSven Eckelmannconfig BATMAN_ADV 23c6c8fea2SSven Eckelmann tristate "B.A.T.M.A.N. Advanced Meshing Protocol" 2417224474SAntonio Quartulli depends on NET 25a73105b8SAntonio Quartulli select CRC16 2695a066d8SSven Eckelmann select LIBCRC32C 2710e3cd6aSAntonio Quartulli help 28c6c8fea2SSven Eckelmann B.A.T.M.A.N. (better approach to mobile ad-hoc networking) is 29c6c8fea2SSven Eckelmann a routing protocol for multi-hop ad-hoc mesh networks. The 30c6c8fea2SSven Eckelmann networks may be wired or wireless. See 317b5e7396SSven Eckelmann https://www.open-mesh.org/ for more information and user space 32c6c8fea2SSven Eckelmann tools. 33c6c8fea2SSven Eckelmann 34d6f94d91SLinus Luessingconfig BATMAN_ADV_BATMAN_V 35951a06e7SSven Eckelmann bool "B.A.T.M.A.N. V protocol" 360566df30SLinus Lüssing depends on BATMAN_ADV && !(CFG80211=m && BATMAN_ADV=y) 3718cfb44cSMarek Lindner default y 38d6f94d91SLinus Luessing help 39d6f94d91SLinus Luessing This option enables the B.A.T.M.A.N. V protocol, the successor 40d6f94d91SLinus Luessing of the currently used B.A.T.M.A.N. IV protocol. The main 41d6f94d91SLinus Luessing changes include splitting of the OGM protocol into a neighbor 42d6f94d91SLinus Luessing discovery protocol (Echo Location Protocol, ELP) and a new OGM 43d6f94d91SLinus Luessing Protocol OGMv2 for flooding protocol information through the 44d6f94d91SLinus Luessing network, as well as a throughput based metric. 45d6f94d91SLinus Luessing B.A.T.M.A.N. V is currently considered experimental and not 46d6f94d91SLinus Luessing compatible to B.A.T.M.A.N. IV networks. 47d6f94d91SLinus Luessing 487a5cc242SSimon Wunderlichconfig BATMAN_ADV_BLA 497a5cc242SSimon Wunderlich bool "Bridge Loop Avoidance" 5017224474SAntonio Quartulli depends on BATMAN_ADV && INET 517a5cc242SSimon Wunderlich default y 527a5cc242SSimon Wunderlich help 537a5cc242SSimon Wunderlich This option enables BLA (Bridge Loop Avoidance), a mechanism 547a5cc242SSimon Wunderlich to avoid Ethernet frames looping when mesh nodes are connected 557a5cc242SSimon Wunderlich to both the same LAN and the same mesh. If you will never use 567a5cc242SSimon Wunderlich more than one mesh node in the same LAN, you can safely remove 577a5cc242SSimon Wunderlich this feature and save some space. 5810e3cd6aSAntonio Quartulli 5917224474SAntonio Quartulliconfig BATMAN_ADV_DAT 6017224474SAntonio Quartulli bool "Distributed ARP Table" 6117224474SAntonio Quartulli depends on BATMAN_ADV && INET 62ab4e5853SAntonio Quartulli default y 6317224474SAntonio Quartulli help 6417224474SAntonio Quartulli This option enables DAT (Distributed ARP Table), a DHT based 6517224474SAntonio Quartulli mechanism that increases ARP reliability on sparse wireless 6617224474SAntonio Quartulli mesh networks. If you think that your network does not need 6717224474SAntonio Quartulli this option you can safely remove it and save some space. 6817224474SAntonio Quartulli 69d353d8d4SMartin Hundebøllconfig BATMAN_ADV_NC 70d353d8d4SMartin Hundebøll bool "Network Coding" 71d353d8d4SMartin Hundebøll depends on BATMAN_ADV 72d353d8d4SMartin Hundebøll help 73d353d8d4SMartin Hundebøll This option enables network coding, a mechanism that aims to 74d353d8d4SMartin Hundebøll increase the overall network throughput by fusing multiple 75d353d8d4SMartin Hundebøll packets in one transmission. 76d353d8d4SMartin Hundebøll Note that interfaces controlled by batman-adv must be manually 77d353d8d4SMartin Hundebøll configured to have promiscuous mode enabled in order to make 78d353d8d4SMartin Hundebøll network coding work. 79d353d8d4SMartin Hundebøll If you think that your network does not need this feature you 80d353d8d4SMartin Hundebøll can safely disable it and save some space. 81d353d8d4SMartin Hundebøll 82c5caf4efSLinus Lüssingconfig BATMAN_ADV_MCAST 83c5caf4efSLinus Lüssing bool "Multicast optimisation" 84687937abSLinus Lüssing depends on BATMAN_ADV && INET && !(BRIDGE=m && BATMAN_ADV=y) 85c5caf4efSLinus Lüssing help 86c5caf4efSLinus Lüssing This option enables the multicast optimisation which aims to 87c5caf4efSLinus Lüssing reduce the air overhead while improving the reliability of 88c5caf4efSLinus Lüssing multicast messages. 89c5caf4efSLinus Lüssing 90dc1cbd14SSven Eckelmannconfig BATMAN_ADV_DEBUGFS 91dc1cbd14SSven Eckelmann bool "batman-adv debugfs entries" 9210e3cd6aSAntonio Quartulli depends on BATMAN_ADV 9395353956SMarkus Pargmann depends on DEBUG_FS 94dc1cbd14SSven Eckelmann help 95dc1cbd14SSven Eckelmann Enable this to export routing related debug tables via debugfs. 96dc1cbd14SSven Eckelmann The information for each soft-interface and used hard-interface can be 97dc1cbd14SSven Eckelmann found under batman_adv/ 98dc1cbd14SSven Eckelmann 991ba93211SSven Eckelmann If unsure, say N. 100dc1cbd14SSven Eckelmann 101dc1cbd14SSven Eckelmannconfig BATMAN_ADV_DEBUG 102dc1cbd14SSven Eckelmann bool "B.A.T.M.A.N. debugging" 103dc1cbd14SSven Eckelmann depends on BATMAN_ADV_DEBUGFS 10410e3cd6aSAntonio Quartulli help 105c6c8fea2SSven Eckelmann This is an option for use by developers; most people should 106c6c8fea2SSven Eckelmann say N here. This enables compilation of support for 107c6c8fea2SSven Eckelmann outputting debugging information to the kernel log. The 108c6c8fea2SSven Eckelmann output is controlled via the module parameter debug. 109d331a739SSven Eckelmann 110d331a739SSven Eckelmannconfig BATMAN_ADV_TRACING 111d331a739SSven Eckelmann bool "B.A.T.M.A.N. tracing support" 112d331a739SSven Eckelmann depends on BATMAN_ADV 113d331a739SSven Eckelmann depends on EVENT_TRACING 114d331a739SSven Eckelmann help 115d331a739SSven Eckelmann This is an option for use by developers; most people should 116d331a739SSven Eckelmann say N here. Select this option to gather traces like the debug 117d331a739SSven Eckelmann messages using the generic tracing infrastructure of the kernel. 118d331a739SSven Eckelmann BATMAN_ADV_DEBUG must also be selected to get trace events for 119d331a739SSven Eckelmann batadv_dbg. 120