19969ffa8SSven Eckelmann# SPDX-License-Identifier: GPL-2.0 268e039f9SSven Eckelmann# Copyright (C) 2007-2020 B.A.T.M.A.N. contributors: 39969ffa8SSven Eckelmann# 49969ffa8SSven Eckelmann# Marek Lindner, Simon Wunderlich 59969ffa8SSven Eckelmann 6c6c8fea2SSven Eckelmann# 7c6c8fea2SSven Eckelmann# B.A.T.M.A.N meshing protocol 8c6c8fea2SSven Eckelmann# 9c6c8fea2SSven Eckelmann 10c6c8fea2SSven Eckelmannconfig BATMAN_ADV 11c6c8fea2SSven Eckelmann tristate "B.A.T.M.A.N. Advanced Meshing Protocol" 1217224474SAntonio Quartulli depends on NET 1395a066d8SSven Eckelmann select LIBCRC32C 1410e3cd6aSAntonio Quartulli help 15c6c8fea2SSven Eckelmann B.A.T.M.A.N. (better approach to mobile ad-hoc networking) is 16c6c8fea2SSven Eckelmann a routing protocol for multi-hop ad-hoc mesh networks. The 17c6c8fea2SSven Eckelmann networks may be wired or wireless. See 187b5e7396SSven Eckelmann https://www.open-mesh.org/ for more information and user space 19c6c8fea2SSven Eckelmann tools. 20c6c8fea2SSven Eckelmann 21d6f94d91SLinus Luessingconfig BATMAN_ADV_BATMAN_V 22951a06e7SSven Eckelmann bool "B.A.T.M.A.N. V protocol" 230566df30SLinus Lüssing depends on BATMAN_ADV && !(CFG80211=m && BATMAN_ADV=y) 2418cfb44cSMarek Lindner default y 25d6f94d91SLinus Luessing help 26d6f94d91SLinus Luessing This option enables the B.A.T.M.A.N. V protocol, the successor 27d6f94d91SLinus Luessing of the currently used B.A.T.M.A.N. IV protocol. The main 28d6f94d91SLinus Luessing changes include splitting of the OGM protocol into a neighbor 29d6f94d91SLinus Luessing discovery protocol (Echo Location Protocol, ELP) and a new OGM 30d6f94d91SLinus Luessing Protocol OGMv2 for flooding protocol information through the 31d6f94d91SLinus Luessing network, as well as a throughput based metric. 32d6f94d91SLinus Luessing B.A.T.M.A.N. V is currently considered experimental and not 33d6f94d91SLinus Luessing compatible to B.A.T.M.A.N. IV networks. 34d6f94d91SLinus Luessing 357a5cc242SSimon Wunderlichconfig BATMAN_ADV_BLA 367a5cc242SSimon Wunderlich bool "Bridge Loop Avoidance" 3717224474SAntonio Quartulli depends on BATMAN_ADV && INET 38fb939135SSven Eckelmann select CRC16 397a5cc242SSimon Wunderlich default y 407a5cc242SSimon Wunderlich help 417a5cc242SSimon Wunderlich This option enables BLA (Bridge Loop Avoidance), a mechanism 427a5cc242SSimon Wunderlich to avoid Ethernet frames looping when mesh nodes are connected 437a5cc242SSimon Wunderlich to both the same LAN and the same mesh. If you will never use 447a5cc242SSimon Wunderlich more than one mesh node in the same LAN, you can safely remove 457a5cc242SSimon Wunderlich this feature and save some space. 4610e3cd6aSAntonio Quartulli 4717224474SAntonio Quartulliconfig BATMAN_ADV_DAT 4817224474SAntonio Quartulli bool "Distributed ARP Table" 4917224474SAntonio Quartulli depends on BATMAN_ADV && INET 50ab4e5853SAntonio Quartulli default y 5117224474SAntonio Quartulli help 5217224474SAntonio Quartulli This option enables DAT (Distributed ARP Table), a DHT based 5317224474SAntonio Quartulli mechanism that increases ARP reliability on sparse wireless 5417224474SAntonio Quartulli mesh networks. If you think that your network does not need 5517224474SAntonio Quartulli this option you can safely remove it and save some space. 5617224474SAntonio Quartulli 57d353d8d4SMartin Hundebøllconfig BATMAN_ADV_NC 58d353d8d4SMartin Hundebøll bool "Network Coding" 59d353d8d4SMartin Hundebøll depends on BATMAN_ADV 60d353d8d4SMartin Hundebøll help 61d353d8d4SMartin Hundebøll This option enables network coding, a mechanism that aims to 62d353d8d4SMartin Hundebøll increase the overall network throughput by fusing multiple 63d353d8d4SMartin Hundebøll packets in one transmission. 64d353d8d4SMartin Hundebøll Note that interfaces controlled by batman-adv must be manually 65d353d8d4SMartin Hundebøll configured to have promiscuous mode enabled in order to make 66d353d8d4SMartin Hundebøll network coding work. 67d353d8d4SMartin Hundebøll If you think that your network does not need this feature you 68d353d8d4SMartin Hundebøll can safely disable it and save some space. 69d353d8d4SMartin Hundebøll 70c5caf4efSLinus Lüssingconfig BATMAN_ADV_MCAST 71c5caf4efSLinus Lüssing bool "Multicast optimisation" 72687937abSLinus Lüssing depends on BATMAN_ADV && INET && !(BRIDGE=m && BATMAN_ADV=y) 73016fd285SLinus Lüssing default y 74c5caf4efSLinus Lüssing help 75c5caf4efSLinus Lüssing This option enables the multicast optimisation which aims to 76c5caf4efSLinus Lüssing reduce the air overhead while improving the reliability of 77c5caf4efSLinus Lüssing multicast messages. 78c5caf4efSLinus Lüssing 79dc1cbd14SSven Eckelmannconfig BATMAN_ADV_DEBUG 80dc1cbd14SSven Eckelmann bool "B.A.T.M.A.N. debugging" 810dacc7faSSven Eckelmann depends on BATMAN_ADV 8210e3cd6aSAntonio Quartulli help 83c6c8fea2SSven Eckelmann This is an option for use by developers; most people should 84c6c8fea2SSven Eckelmann say N here. This enables compilation of support for 85*aff6f5a6SSven Eckelmann outputting debugging information to the tracing buffer. The output is 86*aff6f5a6SSven Eckelmann controlled via the batadv netdev specific log_level setting. 87d331a739SSven Eckelmann 88d331a739SSven Eckelmannconfig BATMAN_ADV_TRACING 89d331a739SSven Eckelmann bool "B.A.T.M.A.N. tracing support" 90d331a739SSven Eckelmann depends on BATMAN_ADV 91d331a739SSven Eckelmann depends on EVENT_TRACING 92d331a739SSven Eckelmann help 93d331a739SSven Eckelmann This is an option for use by developers; most people should 94d331a739SSven Eckelmann say N here. Select this option to gather traces like the debug 95d331a739SSven Eckelmann messages using the generic tracing infrastructure of the kernel. 96d331a739SSven Eckelmann BATMAN_ADV_DEBUG must also be selected to get trace events for 97d331a739SSven Eckelmann batadv_dbg. 98