xref: /linux/net/batman-adv/Kconfig (revision 24f171c7e145f43b9f187578e89b0982ce87e54c)
1# SPDX-License-Identifier: GPL-2.0
2# Copyright (C) B.A.T.M.A.N. contributors:
3#
4# Marek Lindner, Simon Wunderlich
5
6#
7# B.A.T.M.A.N meshing protocol
8#
9
10config BATMAN_ADV
11	tristate "B.A.T.M.A.N. Advanced Meshing Protocol"
12	select CRC32
13	help
14	  B.A.T.M.A.N. (better approach to mobile ad-hoc networking) is
15	  a routing protocol for multi-hop ad-hoc mesh networks. The
16	  networks may be wired or wireless. See
17	  https://www.open-mesh.org/ for more information and user space
18	  tools.
19
20config BATMAN_ADV_BATMAN_V
21	bool "B.A.T.M.A.N. V protocol"
22	depends on BATMAN_ADV && !(CFG80211=m && BATMAN_ADV=y)
23	default y
24	help
25	  This option enables the B.A.T.M.A.N. V protocol, the successor
26	  of the currently used B.A.T.M.A.N. IV protocol. The main
27	  changes include splitting of the OGM protocol into a neighbor
28	  discovery protocol (Echo Location Protocol, ELP) and a new OGM
29	  Protocol OGMv2 for flooding protocol information through the
30	  network, as well as a throughput based metric.
31	  B.A.T.M.A.N. V is currently considered experimental and not
32	  compatible to B.A.T.M.A.N. IV networks.
33
34config BATMAN_ADV_BLA
35	bool "Bridge Loop Avoidance"
36	depends on BATMAN_ADV && INET
37	select CRC16
38	select NET_CRC32C
39	default y
40	help
41	  This option enables BLA (Bridge Loop Avoidance), a mechanism
42	  to avoid Ethernet frames looping when mesh nodes are connected
43	  to both the same LAN and the same mesh. If you will never use
44	  more than one mesh node in the same LAN, you can safely remove
45	  this feature and save some space.
46
47config BATMAN_ADV_DAT
48	bool "Distributed ARP Table"
49	depends on BATMAN_ADV && INET
50	default y
51	help
52	  This option enables DAT (Distributed ARP Table), a DHT based
53	  mechanism that increases ARP reliability on sparse wireless
54	  mesh networks. If you think that your network does not need
55	  this option you can safely remove it and save some space.
56
57config BATMAN_ADV_MCAST
58	bool "Multicast optimisation"
59	depends on BATMAN_ADV && INET && !(BRIDGE=m && BATMAN_ADV=y)
60	default y
61	help
62	  This option enables the multicast optimisation which aims to
63	  reduce the air overhead while improving the reliability of
64	  multicast messages.
65
66config BATMAN_ADV_DEBUG
67	bool "B.A.T.M.A.N. debugging"
68	depends on BATMAN_ADV
69	help
70	  This is an option for use by developers; most people should
71	  say N here. This enables compilation of support for
72	  outputting debugging information to the tracing buffer. The output is
73	  controlled via the batadv netdev specific log_level setting.
74
75config BATMAN_ADV_TRACING
76	bool "B.A.T.M.A.N. tracing support"
77	depends on BATMAN_ADV
78	depends on EVENT_TRACING
79	help
80	  This is an option for use by developers; most people should
81	  say N here. Select this option to gather traces like the debug
82	  messages using the generic tracing infrastructure of the kernel.
83	  BATMAN_ADV_DEBUG must also be selected to get trace events for
84	  batadv_dbg.
85