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