1# Copyright (c) 2016 Intel Corporation.
2# SPDX-License-Identifier: Apache-2.0
3
4menu "Link layer options"
5
6config NET_L2_DUMMY
7	bool "Dummy l2 layer"
8	default y if !NET_L2_ETHERNET && NET_TEST
9	help
10	  Add a dummy L2 layer driver. This is usually only needed when
11	  simulating a network interface when running network stack inside QEMU.
12
13config NET_L2_BT
14	bool "Bluetooth support"
15	depends on NET_IPV6
16	depends on BT
17	depends on BT_PERIPHERAL
18	depends on BT_CENTRAL
19	depends on BT_SMP
20	depends on BT_L2CAP_DYNAMIC_CHANNEL
21	select NET_6LO
22	help
23	  Enable Bluetooth driver that send and receives IPv6 packets,
24	  does header compression on it and writes it to the
25	  Bluetooth stack via L2CAP channel.
26
27if NET_L2_BT
28config NET_L2_BT_ZEP1656
29	bool "***Workaround to work with Linux.***"
30	help
31	  This workaround is necessary to interoperate with Linux up to 4.10 but
32	  it might not be compliant with RFC 7668 as it cause the stack to skip
33	  Neighbor Discovery cache causing the destination link address to be
34	  omitted. For more details why this is needed see:
35	  https://github.com/zephyrproject-rtos/zephyr/issues/3111
36
37config NET_L2_BT_SEC_LEVEL
38	int "Security level of Bluetooth Link"
39	default 1
40	range 1 4
41	help
42	  Security level of Bluetooth Link:
43	  Level 1 (BT_SECURITY_L1) = No encryption or authentication required
44	  Level 2 (BT_SECURITY_L2) = Only encryption required
45	  Level 3 (BT_SECURITY_L3) = Encryption and authentication required
46	  Level 4 (BT_SECURITY_L4) = LE Secure Connection required
47
48module = NET_L2_BT
49module-dep = NET_LOG
50module-str = Log level for Bluetooth L2 layer
51module-help = Enables Bluetooth L2 to output debug messages.
52source "subsys/net/Kconfig.template.log_config.net"
53endif
54
55config NET_L2_BT_MGMT
56	bool "Bluetooth Network Management support"
57	depends on NET_L2_BT
58	select NET_MGMT
59	select NET_MGMT_EVENT
60
61config NET_L2_BT_SHELL
62	bool "Bluetooth shell module"
63	select SHELL
64	select NET_L2_BT_MGMT
65	help
66	  This can be used for testing Bluetooth management commands through the
67	  console via a shell module named "net_bt".
68
69source "subsys/net/l2/virtual/Kconfig"
70
71source "subsys/net/l2/ethernet/Kconfig"
72
73source "subsys/net/l2/ppp/Kconfig"
74
75config NET_L2_PHY_IEEE802154
76	bool
77	help
78	  A common config for all IEEE 802.15.4 based L2 implementations.
79
80source "subsys/net/l2/ieee802154/Kconfig"
81
82source "subsys/net/l2/openthread/Kconfig"
83
84config NET_L2_CUSTOM_IEEE802154
85	bool "Custom IEEE802154 L2"
86	select NET_L2_PHY_IEEE802154
87	help
88	  Enable custom IEEE802154 based L2. Zephyr does not provide
89	  implementation for this L2 - users can implement their own L2 using
90	  this symbol, on top of the IEEE802154 radio driver.
91
92config NET_L2_CUSTOM_IEEE802154_MTU
93	int "MTU for the custom IEEE802154 L2"
94	depends on NET_L2_CUSTOM_IEEE802154
95	default 127
96
97source "subsys/net/l2/canbus/Kconfig"
98
99config NET_L2_WIFI_UTILS
100	bool
101	help
102	  This provides utility functions for Wi-Fi subsystem.
103
104config NET_L2_WIFI_MGMT
105	bool "Wi-Fi Management support"
106	select NET_MGMT
107	select NET_MGMT_EVENT
108	select NET_MGMT_EVENT_INFO
109	select NET_L2_WIFI_UTILS
110	help
111	  Enable support for Wi-Fi Management interface.
112
113if NET_L2_WIFI_MGMT
114module = NET_L2_WIFI_MGMT
115module-dep = NET_LOG
116module-str = Log level for Wi-Fi management layer
117module-help = Enables Wi-Fi management interface to output debug messages.
118source "subsys/net/Kconfig.template.log_config.net"
119source "subsys/net/l2/wifi/Kconfig"
120endif # NET_L2_WIFI_MGMT
121
122config NET_L2_WIFI_SHELL
123	bool "Wi-Fi shell module"
124	select NET_L2_WIFI_MGMT
125	select NET_L2_WIFI_UTILS
126	select SHELL_GETOPT
127	select GETOPT_LONG
128	help
129	  This can be used for controlling Wi-Fi through the console via
130	  exposing a shell module named "wifi".
131
132config NET_L2_PTP
133	bool "PTP L2 support"
134	select NET_PKT_TIMESTAMP
135	select PTP_CLOCK
136	help
137	  Add support for PTP L2 capabilities. Required by gPTP.
138
139endmenu
140