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