1# Options for networking configuration
2
3# Copyright (c) 2017 Intel Corporation.
4# SPDX-License-Identifier: Apache-2.0
5
6config NET_CONFIG_AUTO_INIT
7	bool "Init networking support automatically during device startup"
8	default n if USB_DEVICE_NETWORK
9	default y
10	help
11	  If this option is set, then the networking system is automatically
12	  initialized when the device is started. If you do not wish to do
13	  this, then disable this and call net_config_init() in your application.
14
15config NET_CONFIG_INIT_PRIO
16	int "Startup priority for the network application init"
17	default 95
18	depends on NET_CONFIG_AUTO_INIT
19
20config NET_CONFIG_INIT_TIMEOUT
21	int "How long to wait for networking to be ready and available"
22	default 30
23	help
24	  The value is in seconds. If for example IPv4 address from DHCPv4 is not
25	  received within this limit, then the net_config_init() call will fail
26	  during the device startup.
27
28config NET_CONFIG_NEED_IPV6
29	bool "This application wants IPv6 support"
30	depends on NET_CONFIG_AUTO_INIT
31	select NET_IPV6
32	help
33	  The network application needs IPv6 support to function properly.
34	  This option makes sure the network application is initialized properly
35	  in order to use IPv6.
36
37config NET_CONFIG_NEED_IPV6_ROUTER
38	bool "This application wants IPv6 router to exists"
39	depends on NET_CONFIG_AUTO_INIT
40	depends on NET_IPV6
41	help
42	  The network application needs IPv6 router to exists before continuing.
43	  What this means that the application wants to wait until it receives
44	  IPv6 router advertisement message before continuing.
45
46config NET_CONFIG_NEED_IPV4
47	bool "This application wants IPv4 support"
48	depends on NET_CONFIG_AUTO_INIT
49	select NET_IPV4
50	help
51	  The network application needs IPv4 support to function properly.
52	  This option makes sure the network application is initialized properly
53	  in order to use IPv4.
54
55module = NET_CONFIG
56module-dep = NET_LOG
57module-str = Log level for network config library
58module-help = Enables net config library to output debug messages.
59source "subsys/net/Kconfig.template.log_config.net"
60
61menuconfig NET_CONFIG_SETTINGS
62	bool "Set network settings for applications"
63	select NET_MGMT
64	select NET_MGMT_EVENT
65	help
66	  Allow IP addresses to be set in config file for
67	  networking client/server sample applications, or
68	  some link-layer dedicated settings like the channel.
69	  Beware this is not meant to be used for proper
70	  provisioning but quick sampling/testing.
71
72if NET_CONFIG_SETTINGS
73
74if NET_IPV6
75
76config NET_CONFIG_MY_IPV6_ADDR
77	string "My IPv6 address"
78	help
79	  Use 2001:db8::1 here if uncertain.
80
81config NET_CONFIG_PEER_IPV6_ADDR
82	string "Peer IPv6 address"
83	help
84	  This is only applicable in client side applications that try
85	  to establish a connection to peer host.
86	  Use 2001:db8::2 here if uncertain.
87
88endif # NET_IPV6
89
90if NET_IPV4
91
92config NET_CONFIG_MY_IPV4_ADDR
93	string "My IPv4 address"
94	help
95	  Use 192.0.2.1 here if uncertain.
96
97config NET_CONFIG_MY_IPV4_NETMASK
98	string "My IPv4 netmask"
99	default "255.255.255.0"
100	help
101	  Static netmask to use if not overridden by DHCP. Use empty value to
102	  skip setting static value.
103
104config NET_CONFIG_MY_IPV4_GW
105	string "My IPv4 gateway"
106	help
107	  Static gateway to use if not overridden by DHCP. Use empty value to
108	  skip setting static value.
109
110config NET_CONFIG_PEER_IPV4_ADDR
111	string "Peer IPv4 address"
112	help
113	  This is only applicable in client side applications that try
114	  to establish a connection to peer host.
115	  Use 192.0.2.2 here if uncertain.
116
117endif # NET_IPV4
118
119config NET_CONFIG_IEEE802154_DEV_NAME
120	string "IEEE 802.15.4 device name"
121	depends on NET_L2_IEEE802154 || IEEE802154_RAW_MODE || NET_L2_OPENTHREAD
122	help
123	  The device name to get bindings from in the sample application.
124
125if NET_L2_IEEE802154 || IEEE802154_RAW_MODE
126
127config NET_CONFIG_IEEE802154_PAN_ID
128	hex "IEEE 802.15.4 PAN ID"
129	default 0xabcd
130	help
131	  The PAN ID to use by default in the sample.
132
133config NET_CONFIG_IEEE802154_CHANNEL
134	int "IEEE 802.15.4 channel"
135	default 26
136	help
137	  The channel to use by default in the sample application.
138
139config NET_CONFIG_IEEE802154_RADIO_TX_POWER
140	int "IEEE 802.15.4 TX power in dbm"
141	default 0
142	help
143	  The TX power to use by default in the sample application.
144	  See NET_L2_IEEE802154_RADIO_DFLT_TX_POWER for more info.
145
146config NET_CONFIG_IEEE802154_SECURITY_KEY
147	string "IEEE 802.15.4 security key"
148	default "moooh!"
149	depends on NET_L2_IEEE802154_SECURITY
150	help
151	  The key string to use for the link-layer security part.
152
153config NET_CONFIG_IEEE802154_SECURITY_KEY_MODE
154	int "IEEE 802.15.4 security key mode"
155	default 0
156	range 0 0
157	depends on NET_L2_IEEE802154_SECURITY
158	help
159	  The key mode to use for the link-layer security part.
160	  Only implicit mode is supported, thus 0.
161
162config NET_CONFIG_IEEE802154_SECURITY_LEVEL
163	int "IEEE 802.15.4 security level (0-7)"
164	default 0
165	range 0 7
166	depends on NET_L2_IEEE802154_SECURITY
167	help
168	  The security level to use for the link-layer security part.
169	  0 means no security
170	  1 authentication only with a 4 bytes length tag
171	  2 authentication only with a 8 bytes length tag
172	  3 authentication only with a 16 bytes length tag
173	  4 encryption only
174	  5 encryption/authentication with a 4 bytes length tag
175	  6 encryption/authentication with a 8 bytes length tag
176	  7 encryption/authentication with a 16 bytes length tag
177
178endif # NET_L2_IEEE802154 || IEEE802154_RAW_MODE
179
180config NET_CONFIG_BT_NODE
181	bool "Enable Bluetooth node support"
182	depends on NET_L2_BT
183	select NET_L2_BT_MGMT
184	help
185	  Enables application to operate in node mode which requires GATT
186	  service to be registered and start advertising as peripheral.
187
188endif # NET_CONFIG_SETTINGS
189
190config NET_CONFIG_CLOCK_SNTP_INIT
191	bool "Initialize system clock using SNTP on application startup"
192	depends on SNTP && POSIX_CLOCK
193	help
194	  Perform an SNTP request over networking to get and absolute
195	  wall clock time, and initialize system time from it, so
196	  functions like time(), gettimeofday(), etc. returned the
197	  correct absolute time (no just time since system startup).
198	  Requires networking.
199
200if NET_CONFIG_CLOCK_SNTP_INIT
201
202config NET_CONFIG_SNTP_INIT_SERVER
203	string "SNTP server to use for system clock init"
204	default ""
205	help
206	  Zephyr does not provide default setting for this option. Each
207	  application and vendor should choose a suitable setting based
208	  on their locality, needs, and server's terms of service. See
209	  e.g. server information at
210	  https://support.ntp.org/bin/view/Servers/NTPPoolServers
211
212config NET_CONFIG_SNTP_INIT_TIMEOUT
213	int "SNTP timeout to init system clock (ms)"
214	default 3000
215
216endif # NET_CONFIG_CLOCK_SNTP_INIT
217