1# SPDX-License-Identifier: GPL-2.0 2# Copyright (C) 2007-2018 B.A.T.M.A.N. contributors: 3# 4# Marek Lindner, Simon Wunderlich 5# 6# This program is free software; you can redistribute it and/or 7# modify it under the terms of version 2 of the GNU General Public 8# License as published by the Free Software Foundation. 9# 10# This program is distributed in the hope that it will be useful, but 11# WITHOUT ANY WARRANTY; without even the implied warranty of 12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13# General Public License for more details. 14# 15# You should have received a copy of the GNU General Public License 16# along with this program; if not, see <http://www.gnu.org/licenses/>. 17 18# 19# B.A.T.M.A.N meshing protocol 20# 21 22config BATMAN_ADV 23 tristate "B.A.T.M.A.N. Advanced Meshing Protocol" 24 depends on NET 25 select CRC16 26 select LIBCRC32C 27 default n 28 help 29 B.A.T.M.A.N. (better approach to mobile ad-hoc networking) is 30 a routing protocol for multi-hop ad-hoc mesh networks. The 31 networks may be wired or wireless. See 32 https://www.open-mesh.org/ for more information and user space 33 tools. 34 35config BATMAN_ADV_BATMAN_V 36 bool "B.A.T.M.A.N. V protocol (experimental)" 37 depends on BATMAN_ADV && !(CFG80211=m && BATMAN_ADV=y) 38 default n 39 help 40 This option enables the B.A.T.M.A.N. V protocol, the successor 41 of the currently used B.A.T.M.A.N. IV protocol. The main 42 changes include splitting of the OGM protocol into a neighbor 43 discovery protocol (Echo Location Protocol, ELP) and a new OGM 44 Protocol OGMv2 for flooding protocol information through the 45 network, as well as a throughput based metric. 46 B.A.T.M.A.N. V is currently considered experimental and not 47 compatible to B.A.T.M.A.N. IV networks. 48 49config BATMAN_ADV_BLA 50 bool "Bridge Loop Avoidance" 51 depends on BATMAN_ADV && INET 52 default y 53 help 54 This option enables BLA (Bridge Loop Avoidance), a mechanism 55 to avoid Ethernet frames looping when mesh nodes are connected 56 to both the same LAN and the same mesh. If you will never use 57 more than one mesh node in the same LAN, you can safely remove 58 this feature and save some space. 59 60config BATMAN_ADV_DAT 61 bool "Distributed ARP Table" 62 depends on BATMAN_ADV && INET 63 default n 64 help 65 This option enables DAT (Distributed ARP Table), a DHT based 66 mechanism that increases ARP reliability on sparse wireless 67 mesh networks. If you think that your network does not need 68 this option you can safely remove it and save some space. 69 70config BATMAN_ADV_NC 71 bool "Network Coding" 72 depends on BATMAN_ADV 73 default n 74 help 75 This option enables network coding, a mechanism that aims to 76 increase the overall network throughput by fusing multiple 77 packets in one transmission. 78 Note that interfaces controlled by batman-adv must be manually 79 configured to have promiscuous mode enabled in order to make 80 network coding work. 81 If you think that your network does not need this feature you 82 can safely disable it and save some space. 83 84config BATMAN_ADV_MCAST 85 bool "Multicast optimisation" 86 depends on BATMAN_ADV && INET && !(BRIDGE=m && BATMAN_ADV=y) 87 default n 88 help 89 This option enables the multicast optimisation which aims to 90 reduce the air overhead while improving the reliability of 91 multicast messages. 92 93config BATMAN_ADV_DEBUGFS 94 bool "batman-adv debugfs entries" 95 depends on BATMAN_ADV 96 depends on DEBUG_FS 97 default y 98 help 99 Enable this to export routing related debug tables via debugfs. 100 The information for each soft-interface and used hard-interface can be 101 found under batman_adv/ 102 103 If unsure, say Y. 104 105config BATMAN_ADV_DEBUG 106 bool "B.A.T.M.A.N. debugging" 107 depends on BATMAN_ADV_DEBUGFS 108 help 109 This is an option for use by developers; most people should 110 say N here. This enables compilation of support for 111 outputting debugging information to the kernel log. The 112 output is controlled via the module parameter debug. 113