xref: /linux/net/batman-adv/Kconfig (revision 07fdad3a93756b872da7b53647715c48d0f4a2d0)
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	default y
39	help
40	  This option enables BLA (Bridge Loop Avoidance), a mechanism
41	  to avoid Ethernet frames looping when mesh nodes are connected
42	  to both the same LAN and the same mesh. If you will never use
43	  more than one mesh node in the same LAN, you can safely remove
44	  this feature and save some space.
45
46config BATMAN_ADV_DAT
47	bool "Distributed ARP Table"
48	depends on BATMAN_ADV && INET
49	default y
50	help
51	  This option enables DAT (Distributed ARP Table), a DHT based
52	  mechanism that increases ARP reliability on sparse wireless
53	  mesh networks. If you think that your network does not need
54	  this option you can safely remove it and save some space.
55
56config BATMAN_ADV_MCAST
57	bool "Multicast optimisation"
58	depends on BATMAN_ADV && INET && !(BRIDGE=m && BATMAN_ADV=y)
59	default y
60	help
61	  This option enables the multicast optimisation which aims to
62	  reduce the air overhead while improving the reliability of
63	  multicast messages.
64
65config BATMAN_ADV_DEBUG
66	bool "B.A.T.M.A.N. debugging"
67	depends on BATMAN_ADV
68	help
69	  This is an option for use by developers; most people should
70	  say N here. This enables compilation of support for
71	  outputting debugging information to the tracing buffer. The output is
72	  controlled via the batadv netdev specific log_level setting.
73
74config BATMAN_ADV_TRACING
75	bool "B.A.T.M.A.N. tracing support"
76	depends on BATMAN_ADV
77	depends on EVENT_TRACING
78	help
79	  This is an option for use by developers; most people should
80	  say N here. Select this option to gather traces like the debug
81	  messages using the generic tracing infrastructure of the kernel.
82	  BATMAN_ADV_DEBUG must also be selected to get trace events for
83	  batadv_dbg.
84