# SPDX-License-Identifier: GPL-2.0
# Copyright ([31mCONFIG_C[0m) 2007-2019 [31mCONFIG_B[0m.[31mCONFIG_A[0m.T.[31mCONFIG_M[0m.[31mCONFIG_A[0m.N. contributors:
#
# Marek Lindner, Simon Wunderlich
#
# [31mCONFIG_B[0m.[31mCONFIG_A[0m.T.[31mCONFIG_M[0m.[31mCONFIG_A[0m.N meshing protocol
#
config [31mCONFIG_BATMAN_ADV[0m
tristate "B.A.T.M.A.N. Advanced Meshing Protocol"
depends on [31mCONFIG_NET[0m
select [31mCONFIG_LIBCRC32C[0m
help
[31mCONFIG_B[0m.[31mCONFIG_A[0m.T.[31mCONFIG_M[0m.[31mCONFIG_A[0m.N. (better approach to mobile ad-hoc networking) is
a routing protocol for multi-hop ad-hoc mesh networks. The
networks may be wired or wireless. See
https://www.open-mesh.org/ for more information and user space
tools.
config [31mCONFIG_BATMAN_ADV_BATMAN_V[0m
bool "B.A.T.M.A.N. V protocol"
depends on [31mCONFIG_BATMAN_ADV[0m && !([31mCONFIG_CFG80211[0m=m && [31mCONFIG_BATMAN_ADV[0m=y)
default y
help
This option enables the [31mCONFIG_B[0m.[31mCONFIG_A[0m.T.[31mCONFIG_M[0m.[31mCONFIG_A[0m.N. V protocol, the successor
of the currently used [31mCONFIG_B[0m.[31mCONFIG_A[0m.T.[31mCONFIG_M[0m.[31mCONFIG_A[0m.N. IV protocol. The main
changes include splitting of the OGM protocol into a neighbor
discovery protocol (Echo Location Protocol, ELP) and a new OGM
Protocol OGMv2 for flooding protocol information through the
network, as well as a throughput based metric.
[31mCONFIG_B[0m.[31mCONFIG_A[0m.T.[31mCONFIG_M[0m.[31mCONFIG_A[0m.N. V is currently considered experimental and not
compatible to [31mCONFIG_B[0m.[31mCONFIG_A[0m.T.[31mCONFIG_M[0m.[31mCONFIG_A[0m.N. IV networks.
config [31mCONFIG_BATMAN_ADV_BLA[0m
bool "Bridge Loop Avoidance"
depends on [31mCONFIG_BATMAN_ADV[0m && [31mCONFIG_INET[0m
select [31mCONFIG_CRC16[0m
default y
help
This option enables BLA (Bridge Loop Avoidance), a mechanism
to avoid Ethernet frames looping when mesh nodes are connected
to both the same LAN and the same mesh. If you will never use
more than one mesh node in the same LAN, you can safely remove
this feature and save some space.
config [31mCONFIG_BATMAN_ADV_DAT[0m
bool "Distributed ARP Table"
depends on [31mCONFIG_BATMAN_ADV[0m && [31mCONFIG_INET[0m
default y
help
This option enables DAT (Distributed ARP Table), a DHT based
mechanism that increases ARP reliability on sparse wireless
mesh networks. If you think that your network does not need
this option you can safely remove it and save some space.
config [31mCONFIG_BATMAN_ADV_NC[0m
bool "Network Coding"
depends on [31mCONFIG_BATMAN_ADV[0m
help
This option enables network coding, a mechanism that aims to
increase the overall network throughput by fusing multiple
packets in one transmission.
Note that interfaces controlled by batman-adv must be manually
configured to have promiscuous mode enabled in order to make
network coding work.
If you think that your network does not need this feature you
can safely disable it and save some space.
config [31mCONFIG_BATMAN_ADV_MCAST[0m
bool "Multicast optimisation"
depends on [31mCONFIG_BATMAN_ADV[0m && [31mCONFIG_INET[0m && !([31mCONFIG_BRIDGE[0m=m && [31mCONFIG_BATMAN_ADV[0m=y)
default y
help
This option enables the multicast optimisation which aims to
reduce the air overhead while improving the reliability of
multicast messages.
config [31mCONFIG_BATMAN_ADV_DEBUGFS[0m
bool "batman-adv debugfs entries"
depends on [31mCONFIG_BATMAN_ADV[0m
depends on [31mCONFIG_DEBUG_FS[0m
help
Enable this to export routing related debug tables via debugfs.
The information for each soft-interface and used hard-interface can be
found under batman_adv/
If unsure, say N.
config [31mCONFIG_BATMAN_ADV_DEBUG[0m
bool "B.A.T.M.A.N. debugging"
depends on [31mCONFIG_BATMAN_ADV[0m
help
This is an option for use by developers; most people should
say N here. This enables compilation of support for
outputting debugging information to the debugfs log or tracing
buffer. The output is controlled via the batadv netdev specific
log_level setting.
config [31mCONFIG_BATMAN_ADV_SYSFS[0m
bool "batman-adv sysfs entries"
depends on [31mCONFIG_BATMAN_ADV[0m
default y
help
Say Y here if you want to enable batman-adv device configuration and
status interface through sysfs attributes. It is replaced by the
batadv generic netlink family but still used by various userspace
tools and scripts.
If unsure, say Y.
config [31mCONFIG_BATMAN_ADV_TRACING[0m
bool "B.A.T.M.A.N. tracing support"
depends on [31mCONFIG_BATMAN_ADV[0m
depends on [31mCONFIG_EVENT_TRACING[0m
help
This is an option for use by developers; most people should
say N here. Select this option to gather traces like the debug
messages using the generic tracing infrastructure of the kernel.
[31mCONFIG_BATMAN_ADV_DEBUG[0m must also be selected to get trace events for
batadv_dbg.