xref: /linux/net/batman-adv/Kconfig (revision 4f38da1f027ea2c9f01bb71daa7a299c191b6940)
19969ffa8SSven Eckelmann# SPDX-License-Identifier: GPL-2.0
2cfa55c6dSSven Eckelmann# Copyright (C) B.A.T.M.A.N. contributors:
39969ffa8SSven Eckelmann#
49969ffa8SSven Eckelmann# Marek Lindner, Simon Wunderlich
59969ffa8SSven Eckelmann
6c6c8fea2SSven Eckelmann#
7c6c8fea2SSven Eckelmann# B.A.T.M.A.N meshing protocol
8c6c8fea2SSven Eckelmann#
9c6c8fea2SSven Eckelmann
10c6c8fea2SSven Eckelmannconfig BATMAN_ADV
11c6c8fea2SSven Eckelmann	tristate "B.A.T.M.A.N. Advanced Meshing Protocol"
12*b261d222SEric Biggers	select CRC32
1310e3cd6aSAntonio Quartulli	help
14c6c8fea2SSven Eckelmann	  B.A.T.M.A.N. (better approach to mobile ad-hoc networking) is
15c6c8fea2SSven Eckelmann	  a routing protocol for multi-hop ad-hoc mesh networks. The
16c6c8fea2SSven Eckelmann	  networks may be wired or wireless. See
177b5e7396SSven Eckelmann	  https://www.open-mesh.org/ for more information and user space
18c6c8fea2SSven Eckelmann	  tools.
19c6c8fea2SSven Eckelmann
20d6f94d91SLinus Luessingconfig BATMAN_ADV_BATMAN_V
21951a06e7SSven Eckelmann	bool "B.A.T.M.A.N. V protocol"
220566df30SLinus Lüssing	depends on BATMAN_ADV && !(CFG80211=m && BATMAN_ADV=y)
2318cfb44cSMarek Lindner	default y
24d6f94d91SLinus Luessing	help
25d6f94d91SLinus Luessing	  This option enables the B.A.T.M.A.N. V protocol, the successor
26d6f94d91SLinus Luessing	  of the currently used B.A.T.M.A.N. IV protocol. The main
27d6f94d91SLinus Luessing	  changes include splitting of the OGM protocol into a neighbor
28d6f94d91SLinus Luessing	  discovery protocol (Echo Location Protocol, ELP) and a new OGM
29d6f94d91SLinus Luessing	  Protocol OGMv2 for flooding protocol information through the
30d6f94d91SLinus Luessing	  network, as well as a throughput based metric.
31d6f94d91SLinus Luessing	  B.A.T.M.A.N. V is currently considered experimental and not
32d6f94d91SLinus Luessing	  compatible to B.A.T.M.A.N. IV networks.
33d6f94d91SLinus Luessing
347a5cc242SSimon Wunderlichconfig BATMAN_ADV_BLA
357a5cc242SSimon Wunderlich	bool "Bridge Loop Avoidance"
3617224474SAntonio Quartulli	depends on BATMAN_ADV && INET
37fb939135SSven Eckelmann	select CRC16
387a5cc242SSimon Wunderlich	default y
397a5cc242SSimon Wunderlich	help
407a5cc242SSimon Wunderlich	  This option enables BLA (Bridge Loop Avoidance), a mechanism
417a5cc242SSimon Wunderlich	  to avoid Ethernet frames looping when mesh nodes are connected
427a5cc242SSimon Wunderlich	  to both the same LAN and the same mesh. If you will never use
437a5cc242SSimon Wunderlich	  more than one mesh node in the same LAN, you can safely remove
447a5cc242SSimon Wunderlich	  this feature and save some space.
4510e3cd6aSAntonio Quartulli
4617224474SAntonio Quartulliconfig BATMAN_ADV_DAT
4717224474SAntonio Quartulli	bool "Distributed ARP Table"
4817224474SAntonio Quartulli	depends on BATMAN_ADV && INET
49ab4e5853SAntonio Quartulli	default y
5017224474SAntonio Quartulli	help
5117224474SAntonio Quartulli	  This option enables DAT (Distributed ARP Table), a DHT based
5217224474SAntonio Quartulli	  mechanism that increases ARP reliability on sparse wireless
5317224474SAntonio Quartulli	  mesh networks. If you think that your network does not need
5417224474SAntonio Quartulli	  this option you can safely remove it and save some space.
5517224474SAntonio Quartulli
56c5caf4efSLinus Lüssingconfig BATMAN_ADV_MCAST
57c5caf4efSLinus Lüssing	bool "Multicast optimisation"
58687937abSLinus Lüssing	depends on BATMAN_ADV && INET && !(BRIDGE=m && BATMAN_ADV=y)
59016fd285SLinus Lüssing	default y
60c5caf4efSLinus Lüssing	help
61c5caf4efSLinus Lüssing	  This option enables the multicast optimisation which aims to
62c5caf4efSLinus Lüssing	  reduce the air overhead while improving the reliability of
63c5caf4efSLinus Lüssing	  multicast messages.
64c5caf4efSLinus Lüssing
65dc1cbd14SSven Eckelmannconfig BATMAN_ADV_DEBUG
66dc1cbd14SSven Eckelmann	bool "B.A.T.M.A.N. debugging"
670dacc7faSSven Eckelmann	depends on BATMAN_ADV
6810e3cd6aSAntonio Quartulli	help
69c6c8fea2SSven Eckelmann	  This is an option for use by developers; most people should
70c6c8fea2SSven Eckelmann	  say N here. This enables compilation of support for
71aff6f5a6SSven Eckelmann	  outputting debugging information to the tracing buffer. The output is
72aff6f5a6SSven Eckelmann	  controlled via the batadv netdev specific log_level setting.
73d331a739SSven Eckelmann
74d331a739SSven Eckelmannconfig BATMAN_ADV_TRACING
75d331a739SSven Eckelmann	bool "B.A.T.M.A.N. tracing support"
76d331a739SSven Eckelmann	depends on BATMAN_ADV
77d331a739SSven Eckelmann	depends on EVENT_TRACING
78d331a739SSven Eckelmann	help
79d331a739SSven Eckelmann	  This is an option for use by developers; most people should
80d331a739SSven Eckelmann	  say N here. Select this option to gather traces like the debug
81d331a739SSven Eckelmann	  messages using the generic tracing infrastructure of the kernel.
82d331a739SSven Eckelmann	  BATMAN_ADV_DEBUG must also be selected to get trace events for
83d331a739SSven Eckelmann	  batadv_dbg.
84