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" 1217224474SAntonio Quartulli select LIBCRC32C 1395a066d8SSven Eckelmann help 1410e3cd6aSAntonio Quartulli 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 17c6c8fea2SSven Eckelmann https://www.open-mesh.org/ for more information and user space 187b5e7396SSven Eckelmann tools. 19c6c8fea2SSven Eckelmann 20c6c8fea2SSven Eckelmannconfig BATMAN_ADV_BATMAN_V 21d6f94d91SLinus Luessing bool "B.A.T.M.A.N. V protocol" 22951a06e7SSven Eckelmann depends on BATMAN_ADV && !(CFG80211=m && BATMAN_ADV=y) 230566df30SLinus Lüssing default y 2418cfb44cSMarek Lindner 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 34d6f94d91SLinus Luessingconfig BATMAN_ADV_BLA 357a5cc242SSimon Wunderlich bool "Bridge Loop Avoidance" 367a5cc242SSimon Wunderlich depends on BATMAN_ADV && INET 3717224474SAntonio Quartulli select CRC16 38fb939135SSven Eckelmann 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. 457a5cc242SSimon Wunderlich 4610e3cd6aSAntonio Quartulliconfig BATMAN_ADV_DAT 4717224474SAntonio Quartulli bool "Distributed ARP Table" 4817224474SAntonio Quartulli depends on BATMAN_ADV && INET 4917224474SAntonio Quartulli default y 50ab4e5853SAntonio 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 5617224474SAntonio Quartulliconfig 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 69d353d8d4SMartin Hundebøllconfig BATMAN_ADV_MCAST 70c5caf4efSLinus Lüssing bool "Multicast optimisation" 71c5caf4efSLinus Lüssing depends on BATMAN_ADV && INET && !(BRIDGE=m && BATMAN_ADV=y) 72687937abSLinus Lüssing default y 73016fd285SLinus 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 78c5caf4efSLinus Lüssingconfig BATMAN_ADV_DEBUG 79dc1cbd14SSven Eckelmann bool "B.A.T.M.A.N. debugging" 80dc1cbd14SSven Eckelmann depends on BATMAN_ADV 810dacc7faSSven Eckelmann help 8210e3cd6aSAntonio Quartulli This is an option for use by developers; most people should 83c6c8fea2SSven Eckelmann say N here. This enables compilation of support for 84c6c8fea2SSven Eckelmann outputting debugging information to the tracing buffer. The output is 85aff6f5a6SSven Eckelmann controlled via the batadv netdev specific log_level setting. 86aff6f5a6SSven 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. 97d331a739SSven Eckelmann