1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun# Copyright (C) 2007-2020 B.A.T.M.A.N. contributors: 3*4882a593Smuzhiyun# 4*4882a593Smuzhiyun# Marek Lindner, Simon Wunderlich 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun# 7*4882a593Smuzhiyun# B.A.T.M.A.N meshing protocol 8*4882a593Smuzhiyun# 9*4882a593Smuzhiyun 10*4882a593Smuzhiyunconfig BATMAN_ADV 11*4882a593Smuzhiyun tristate "B.A.T.M.A.N. Advanced Meshing Protocol" 12*4882a593Smuzhiyun depends on NET 13*4882a593Smuzhiyun select LIBCRC32C 14*4882a593Smuzhiyun help 15*4882a593Smuzhiyun B.A.T.M.A.N. (better approach to mobile ad-hoc networking) is 16*4882a593Smuzhiyun a routing protocol for multi-hop ad-hoc mesh networks. The 17*4882a593Smuzhiyun networks may be wired or wireless. See 18*4882a593Smuzhiyun https://www.open-mesh.org/ for more information and user space 19*4882a593Smuzhiyun tools. 20*4882a593Smuzhiyun 21*4882a593Smuzhiyunconfig BATMAN_ADV_BATMAN_V 22*4882a593Smuzhiyun bool "B.A.T.M.A.N. V protocol" 23*4882a593Smuzhiyun depends on BATMAN_ADV && !(CFG80211=m && BATMAN_ADV=y) 24*4882a593Smuzhiyun default y 25*4882a593Smuzhiyun help 26*4882a593Smuzhiyun This option enables the B.A.T.M.A.N. V protocol, the successor 27*4882a593Smuzhiyun of the currently used B.A.T.M.A.N. IV protocol. The main 28*4882a593Smuzhiyun changes include splitting of the OGM protocol into a neighbor 29*4882a593Smuzhiyun discovery protocol (Echo Location Protocol, ELP) and a new OGM 30*4882a593Smuzhiyun Protocol OGMv2 for flooding protocol information through the 31*4882a593Smuzhiyun network, as well as a throughput based metric. 32*4882a593Smuzhiyun B.A.T.M.A.N. V is currently considered experimental and not 33*4882a593Smuzhiyun compatible to B.A.T.M.A.N. IV networks. 34*4882a593Smuzhiyun 35*4882a593Smuzhiyunconfig BATMAN_ADV_BLA 36*4882a593Smuzhiyun bool "Bridge Loop Avoidance" 37*4882a593Smuzhiyun depends on BATMAN_ADV && INET 38*4882a593Smuzhiyun select CRC16 39*4882a593Smuzhiyun default y 40*4882a593Smuzhiyun help 41*4882a593Smuzhiyun This option enables BLA (Bridge Loop Avoidance), a mechanism 42*4882a593Smuzhiyun to avoid Ethernet frames looping when mesh nodes are connected 43*4882a593Smuzhiyun to both the same LAN and the same mesh. If you will never use 44*4882a593Smuzhiyun more than one mesh node in the same LAN, you can safely remove 45*4882a593Smuzhiyun this feature and save some space. 46*4882a593Smuzhiyun 47*4882a593Smuzhiyunconfig BATMAN_ADV_DAT 48*4882a593Smuzhiyun bool "Distributed ARP Table" 49*4882a593Smuzhiyun depends on BATMAN_ADV && INET 50*4882a593Smuzhiyun default y 51*4882a593Smuzhiyun help 52*4882a593Smuzhiyun This option enables DAT (Distributed ARP Table), a DHT based 53*4882a593Smuzhiyun mechanism that increases ARP reliability on sparse wireless 54*4882a593Smuzhiyun mesh networks. If you think that your network does not need 55*4882a593Smuzhiyun this option you can safely remove it and save some space. 56*4882a593Smuzhiyun 57*4882a593Smuzhiyunconfig BATMAN_ADV_NC 58*4882a593Smuzhiyun bool "Network Coding" 59*4882a593Smuzhiyun depends on BATMAN_ADV 60*4882a593Smuzhiyun help 61*4882a593Smuzhiyun This option enables network coding, a mechanism that aims to 62*4882a593Smuzhiyun increase the overall network throughput by fusing multiple 63*4882a593Smuzhiyun packets in one transmission. 64*4882a593Smuzhiyun Note that interfaces controlled by batman-adv must be manually 65*4882a593Smuzhiyun configured to have promiscuous mode enabled in order to make 66*4882a593Smuzhiyun network coding work. 67*4882a593Smuzhiyun If you think that your network does not need this feature you 68*4882a593Smuzhiyun can safely disable it and save some space. 69*4882a593Smuzhiyun 70*4882a593Smuzhiyunconfig BATMAN_ADV_MCAST 71*4882a593Smuzhiyun bool "Multicast optimisation" 72*4882a593Smuzhiyun depends on BATMAN_ADV && INET && !(BRIDGE=m && BATMAN_ADV=y) 73*4882a593Smuzhiyun default y 74*4882a593Smuzhiyun help 75*4882a593Smuzhiyun This option enables the multicast optimisation which aims to 76*4882a593Smuzhiyun reduce the air overhead while improving the reliability of 77*4882a593Smuzhiyun multicast messages. 78*4882a593Smuzhiyun 79*4882a593Smuzhiyunconfig BATMAN_ADV_DEBUGFS 80*4882a593Smuzhiyun bool "batman-adv debugfs entries" 81*4882a593Smuzhiyun depends on BATMAN_ADV 82*4882a593Smuzhiyun depends on DEBUG_FS 83*4882a593Smuzhiyun help 84*4882a593Smuzhiyun Enable this to export routing related debug tables via debugfs. 85*4882a593Smuzhiyun The information for each soft-interface and used hard-interface can be 86*4882a593Smuzhiyun found under batman_adv/ 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun If unsure, say N. 89*4882a593Smuzhiyun 90*4882a593Smuzhiyunconfig BATMAN_ADV_DEBUG 91*4882a593Smuzhiyun bool "B.A.T.M.A.N. debugging" 92*4882a593Smuzhiyun depends on BATMAN_ADV 93*4882a593Smuzhiyun help 94*4882a593Smuzhiyun This is an option for use by developers; most people should 95*4882a593Smuzhiyun say N here. This enables compilation of support for 96*4882a593Smuzhiyun outputting debugging information to the debugfs log or tracing 97*4882a593Smuzhiyun buffer. The output is controlled via the batadv netdev specific 98*4882a593Smuzhiyun log_level setting. 99*4882a593Smuzhiyun 100*4882a593Smuzhiyunconfig BATMAN_ADV_SYSFS 101*4882a593Smuzhiyun bool "batman-adv sysfs entries" 102*4882a593Smuzhiyun depends on BATMAN_ADV 103*4882a593Smuzhiyun help 104*4882a593Smuzhiyun Say Y here if you want to enable batman-adv device configuration and 105*4882a593Smuzhiyun status interface through sysfs attributes. It is replaced by the 106*4882a593Smuzhiyun batadv generic netlink family but still used by various userspace 107*4882a593Smuzhiyun tools and scripts. 108*4882a593Smuzhiyun 109*4882a593Smuzhiyun If unsure, say Y. 110*4882a593Smuzhiyun 111*4882a593Smuzhiyunconfig BATMAN_ADV_TRACING 112*4882a593Smuzhiyun bool "B.A.T.M.A.N. tracing support" 113*4882a593Smuzhiyun depends on BATMAN_ADV 114*4882a593Smuzhiyun depends on EVENT_TRACING 115*4882a593Smuzhiyun help 116*4882a593Smuzhiyun This is an option for use by developers; most people should 117*4882a593Smuzhiyun say N here. Select this option to gather traces like the debug 118*4882a593Smuzhiyun messages using the generic tracing infrastructure of the kernel. 119*4882a593Smuzhiyun BATMAN_ADV_DEBUG must also be selected to get trace events for 120*4882a593Smuzhiyun batadv_dbg. 121