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 27c6c8fea2SSven Eckelmann default n 2810e3cd6aSAntonio Quartulli help 29c6c8fea2SSven Eckelmann B.A.T.M.A.N. (better approach to mobile ad-hoc networking) is 30c6c8fea2SSven Eckelmann a routing protocol for multi-hop ad-hoc mesh networks. The 31c6c8fea2SSven Eckelmann networks may be wired or wireless. See 327b5e7396SSven Eckelmann https://www.open-mesh.org/ for more information and user space 33c6c8fea2SSven Eckelmann tools. 34c6c8fea2SSven Eckelmann 35d6f94d91SLinus Luessingconfig BATMAN_ADV_BATMAN_V 36d6f94d91SLinus Luessing bool "B.A.T.M.A.N. V protocol (experimental)" 370566df30SLinus Lüssing depends on BATMAN_ADV && !(CFG80211=m && BATMAN_ADV=y) 38d6f94d91SLinus Luessing default n 39d6f94d91SLinus Luessing help 40d6f94d91SLinus Luessing This option enables the B.A.T.M.A.N. V protocol, the successor 41d6f94d91SLinus Luessing of the currently used B.A.T.M.A.N. IV protocol. The main 42d6f94d91SLinus Luessing changes include splitting of the OGM protocol into a neighbor 43d6f94d91SLinus Luessing discovery protocol (Echo Location Protocol, ELP) and a new OGM 44d6f94d91SLinus Luessing Protocol OGMv2 for flooding protocol information through the 45d6f94d91SLinus Luessing network, as well as a throughput based metric. 46d6f94d91SLinus Luessing B.A.T.M.A.N. V is currently considered experimental and not 47d6f94d91SLinus Luessing compatible to B.A.T.M.A.N. IV networks. 48d6f94d91SLinus Luessing 497a5cc242SSimon Wunderlichconfig BATMAN_ADV_BLA 507a5cc242SSimon Wunderlich bool "Bridge Loop Avoidance" 5117224474SAntonio Quartulli depends on BATMAN_ADV && INET 527a5cc242SSimon Wunderlich default y 537a5cc242SSimon Wunderlich help 547a5cc242SSimon Wunderlich This option enables BLA (Bridge Loop Avoidance), a mechanism 557a5cc242SSimon Wunderlich to avoid Ethernet frames looping when mesh nodes are connected 567a5cc242SSimon Wunderlich to both the same LAN and the same mesh. If you will never use 577a5cc242SSimon Wunderlich more than one mesh node in the same LAN, you can safely remove 587a5cc242SSimon Wunderlich this feature and save some space. 5910e3cd6aSAntonio Quartulli 6017224474SAntonio Quartulliconfig BATMAN_ADV_DAT 6117224474SAntonio Quartulli bool "Distributed ARP Table" 6217224474SAntonio Quartulli depends on BATMAN_ADV && INET 6317224474SAntonio Quartulli default n 6417224474SAntonio Quartulli help 6517224474SAntonio Quartulli This option enables DAT (Distributed ARP Table), a DHT based 6617224474SAntonio Quartulli mechanism that increases ARP reliability on sparse wireless 6717224474SAntonio Quartulli mesh networks. If you think that your network does not need 6817224474SAntonio Quartulli this option you can safely remove it and save some space. 6917224474SAntonio Quartulli 70d353d8d4SMartin Hundebøllconfig BATMAN_ADV_NC 71d353d8d4SMartin Hundebøll bool "Network Coding" 72d353d8d4SMartin Hundebøll depends on BATMAN_ADV 73d353d8d4SMartin Hundebøll default n 74d353d8d4SMartin Hundebøll help 75d353d8d4SMartin Hundebøll This option enables network coding, a mechanism that aims to 76d353d8d4SMartin Hundebøll increase the overall network throughput by fusing multiple 77d353d8d4SMartin Hundebøll packets in one transmission. 78d353d8d4SMartin Hundebøll Note that interfaces controlled by batman-adv must be manually 79d353d8d4SMartin Hundebøll configured to have promiscuous mode enabled in order to make 80d353d8d4SMartin Hundebøll network coding work. 81d353d8d4SMartin Hundebøll If you think that your network does not need this feature you 82d353d8d4SMartin Hundebøll can safely disable it and save some space. 83d353d8d4SMartin Hundebøll 84c5caf4efSLinus Lüssingconfig BATMAN_ADV_MCAST 85c5caf4efSLinus Lüssing bool "Multicast optimisation" 86687937abSLinus Lüssing depends on BATMAN_ADV && INET && !(BRIDGE=m && BATMAN_ADV=y) 87c5caf4efSLinus Lüssing default n 88c5caf4efSLinus Lüssing help 89c5caf4efSLinus Lüssing This option enables the multicast optimisation which aims to 90c5caf4efSLinus Lüssing reduce the air overhead while improving the reliability of 91c5caf4efSLinus Lüssing multicast messages. 92c5caf4efSLinus Lüssing 93dc1cbd14SSven Eckelmannconfig BATMAN_ADV_DEBUGFS 94dc1cbd14SSven Eckelmann bool "batman-adv debugfs entries" 9510e3cd6aSAntonio Quartulli depends on BATMAN_ADV 9695353956SMarkus Pargmann depends on DEBUG_FS 971ba93211SSven Eckelmann default n 98dc1cbd14SSven Eckelmann help 99dc1cbd14SSven Eckelmann Enable this to export routing related debug tables via debugfs. 100dc1cbd14SSven Eckelmann The information for each soft-interface and used hard-interface can be 101dc1cbd14SSven Eckelmann found under batman_adv/ 102dc1cbd14SSven Eckelmann 1031ba93211SSven Eckelmann If unsure, say N. 104dc1cbd14SSven Eckelmann 105dc1cbd14SSven Eckelmannconfig BATMAN_ADV_DEBUG 106dc1cbd14SSven Eckelmann bool "B.A.T.M.A.N. debugging" 107dc1cbd14SSven Eckelmann depends on BATMAN_ADV_DEBUGFS 10810e3cd6aSAntonio Quartulli help 109c6c8fea2SSven Eckelmann This is an option for use by developers; most people should 110c6c8fea2SSven Eckelmann say N here. This enables compilation of support for 111c6c8fea2SSven Eckelmann outputting debugging information to the kernel log. The 112c6c8fea2SSven Eckelmann output is controlled via the module parameter debug. 113