0001 # SPDX-License-Identifier: GPL-2.0
0002 # Copyright (C) B.A.T.M.A.N. contributors:
0003 #
0004 # Marek Lindner, Simon Wunderlich
0005
0006 #
0007 # B.A.T.M.A.N meshing protocol
0008 #
0009
0010 config BATMAN_ADV
0011 tristate "B.A.T.M.A.N. Advanced Meshing Protocol"
0012 select LIBCRC32C
0013 help
0014 B.A.T.M.A.N. (better approach to mobile ad-hoc networking) is
0015 a routing protocol for multi-hop ad-hoc mesh networks. The
0016 networks may be wired or wireless. See
0017 https://www.open-mesh.org/ for more information and user space
0018 tools.
0019
0020 config BATMAN_ADV_BATMAN_V
0021 bool "B.A.T.M.A.N. V protocol"
0022 depends on BATMAN_ADV && !(CFG80211=m && BATMAN_ADV=y)
0023 default y
0024 help
0025 This option enables the B.A.T.M.A.N. V protocol, the successor
0026 of the currently used B.A.T.M.A.N. IV protocol. The main
0027 changes include splitting of the OGM protocol into a neighbor
0028 discovery protocol (Echo Location Protocol, ELP) and a new OGM
0029 Protocol OGMv2 for flooding protocol information through the
0030 network, as well as a throughput based metric.
0031 B.A.T.M.A.N. V is currently considered experimental and not
0032 compatible to B.A.T.M.A.N. IV networks.
0033
0034 config BATMAN_ADV_BLA
0035 bool "Bridge Loop Avoidance"
0036 depends on BATMAN_ADV && INET
0037 select CRC16
0038 default y
0039 help
0040 This option enables BLA (Bridge Loop Avoidance), a mechanism
0041 to avoid Ethernet frames looping when mesh nodes are connected
0042 to both the same LAN and the same mesh. If you will never use
0043 more than one mesh node in the same LAN, you can safely remove
0044 this feature and save some space.
0045
0046 config BATMAN_ADV_DAT
0047 bool "Distributed ARP Table"
0048 depends on BATMAN_ADV && INET
0049 default y
0050 help
0051 This option enables DAT (Distributed ARP Table), a DHT based
0052 mechanism that increases ARP reliability on sparse wireless
0053 mesh networks. If you think that your network does not need
0054 this option you can safely remove it and save some space.
0055
0056 config BATMAN_ADV_NC
0057 bool "Network Coding"
0058 depends on BATMAN_ADV
0059 help
0060 This option enables network coding, a mechanism that aims to
0061 increase the overall network throughput by fusing multiple
0062 packets in one transmission.
0063 Note that interfaces controlled by batman-adv must be manually
0064 configured to have promiscuous mode enabled in order to make
0065 network coding work.
0066 If you think that your network does not need this feature you
0067 can safely disable it and save some space.
0068
0069 config BATMAN_ADV_MCAST
0070 bool "Multicast optimisation"
0071 depends on BATMAN_ADV && INET && !(BRIDGE=m && BATMAN_ADV=y)
0072 default y
0073 help
0074 This option enables the multicast optimisation which aims to
0075 reduce the air overhead while improving the reliability of
0076 multicast messages.
0077
0078 config BATMAN_ADV_DEBUG
0079 bool "B.A.T.M.A.N. debugging"
0080 depends on BATMAN_ADV
0081 help
0082 This is an option for use by developers; most people should
0083 say N here. This enables compilation of support for
0084 outputting debugging information to the tracing buffer. The output is
0085 controlled via the batadv netdev specific log_level setting.
0086
0087 config BATMAN_ADV_TRACING
0088 bool "B.A.T.M.A.N. tracing support"
0089 depends on BATMAN_ADV
0090 depends on EVENT_TRACING
0091 help
0092 This is an option for use by developers; most people should
0093 say N here. Select this option to gather traces like the debug
0094 messages using the generic tracing infrastructure of the kernel.
0095 BATMAN_ADV_DEBUG must also be selected to get trace events for
0096 batadv_dbg.