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 2595a066d8SSven Eckelmann select LIBCRC32C 2610e3cd6aSAntonio Quartulli help 27c6c8fea2SSven Eckelmann B.A.T.M.A.N. (better approach to mobile ad-hoc networking) is 28c6c8fea2SSven Eckelmann a routing protocol for multi-hop ad-hoc mesh networks. The 29c6c8fea2SSven Eckelmann networks may be wired or wireless. See 307b5e7396SSven Eckelmann https://www.open-mesh.org/ for more information and user space 31c6c8fea2SSven Eckelmann tools. 32c6c8fea2SSven Eckelmann 33d6f94d91SLinus Luessingconfig BATMAN_ADV_BATMAN_V 34951a06e7SSven Eckelmann bool "B.A.T.M.A.N. V protocol" 350566df30SLinus Lüssing depends on BATMAN_ADV && !(CFG80211=m && BATMAN_ADV=y) 3618cfb44cSMarek Lindner default y 37d6f94d91SLinus Luessing help 38d6f94d91SLinus Luessing This option enables the B.A.T.M.A.N. V protocol, the successor 39d6f94d91SLinus Luessing of the currently used B.A.T.M.A.N. IV protocol. The main 40d6f94d91SLinus Luessing changes include splitting of the OGM protocol into a neighbor 41d6f94d91SLinus Luessing discovery protocol (Echo Location Protocol, ELP) and a new OGM 42d6f94d91SLinus Luessing Protocol OGMv2 for flooding protocol information through the 43d6f94d91SLinus Luessing network, as well as a throughput based metric. 44d6f94d91SLinus Luessing B.A.T.M.A.N. V is currently considered experimental and not 45d6f94d91SLinus Luessing compatible to B.A.T.M.A.N. IV networks. 46d6f94d91SLinus Luessing 477a5cc242SSimon Wunderlichconfig BATMAN_ADV_BLA 487a5cc242SSimon Wunderlich bool "Bridge Loop Avoidance" 4917224474SAntonio Quartulli depends on BATMAN_ADV && INET 50fb939135SSven Eckelmann select CRC16 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) 85*016fd285SLinus Lüssing default y 86c5caf4efSLinus Lüssing help 87c5caf4efSLinus Lüssing This option enables the multicast optimisation which aims to 88c5caf4efSLinus Lüssing reduce the air overhead while improving the reliability of 89c5caf4efSLinus Lüssing multicast messages. 90c5caf4efSLinus Lüssing 91dc1cbd14SSven Eckelmannconfig BATMAN_ADV_DEBUGFS 92dc1cbd14SSven Eckelmann bool "batman-adv debugfs entries" 9310e3cd6aSAntonio Quartulli depends on BATMAN_ADV 9495353956SMarkus Pargmann depends on DEBUG_FS 95dc1cbd14SSven Eckelmann help 96dc1cbd14SSven Eckelmann Enable this to export routing related debug tables via debugfs. 97dc1cbd14SSven Eckelmann The information for each soft-interface and used hard-interface can be 98dc1cbd14SSven Eckelmann found under batman_adv/ 99dc1cbd14SSven Eckelmann 1001ba93211SSven Eckelmann If unsure, say N. 101dc1cbd14SSven Eckelmann 102dc1cbd14SSven Eckelmannconfig BATMAN_ADV_DEBUG 103dc1cbd14SSven Eckelmann bool "B.A.T.M.A.N. debugging" 1040dacc7faSSven Eckelmann depends on BATMAN_ADV 10510e3cd6aSAntonio Quartulli help 106c6c8fea2SSven Eckelmann This is an option for use by developers; most people should 107c6c8fea2SSven Eckelmann say N here. This enables compilation of support for 108694127c1SSven Eckelmann outputting debugging information to the debugfs log or tracing 109694127c1SSven Eckelmann buffer. The output is controlled via the batadv netdev specific 110694127c1SSven Eckelmann log_level setting. 111d331a739SSven Eckelmann 112d331a739SSven Eckelmannconfig BATMAN_ADV_TRACING 113d331a739SSven Eckelmann bool "B.A.T.M.A.N. tracing support" 114d331a739SSven Eckelmann depends on BATMAN_ADV 115d331a739SSven Eckelmann depends on EVENT_TRACING 116d331a739SSven Eckelmann help 117d331a739SSven Eckelmann This is an option for use by developers; most people should 118d331a739SSven Eckelmann say N here. Select this option to gather traces like the debug 119d331a739SSven Eckelmann messages using the generic tracing infrastructure of the kernel. 120d331a739SSven Eckelmann BATMAN_ADV_DEBUG must also be selected to get trace events for 121d331a739SSven Eckelmann batadv_dbg. 122