I think people might be reading differences into 'if' and 'depends on'
that aren't there, like maybe 'if' being needed to "hide" a symbol,
while 'depends on' just adds a dependency.
There are no differences between 'if' and 'depends on'. 'if' is just a
shorthand for 'depends on'. They work the same when it comes to creating
implicit menus too.
The way symbols get "hidden" is through their dependencies not being
satisfied ('if'/'depends on' get copied up as a dependency on the
prompt).
Since 'if' and 'depends on' are the same, an 'if' with just a single
symbol in it can be replaced with a 'depends on'. IMO, it's best to
avoid 'if' there as a style choice too, because it confuses people into
thinking there's deep Kconfig magic going on that requires 'if'.
Going for 'depends on' can also remove some nested 'if's, which
generates nicer symbol information and docs, because nested 'if's really
are so simple/dumb that they just add the dependencies from both 'if's
to all symbols within.
Replace a bunch of single-symbol 'if's with 'depends on' to despam the
Kconfig files a bit and make it clearer how things work. Also do some
other minor related dependency refactoring.
The replacement isn't complete. Will fix up the rest later. Splitting it
a bit to make it more manageable.
(Everything above is true for choices, menus, and comments as well.)
Detected by tweaking the Kconfiglib parsing code. It's impossible to
detect after parsing, because 'if' turns into 'depends on'.
Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
217 lines
6.4 KiB
Plaintext
217 lines
6.4 KiB
Plaintext
# Options for networking configuration
|
|
|
|
# Copyright (c) 2017 Intel Corporation.
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
config NET_CONFIG_AUTO_INIT
|
|
bool "Init networking support automatically during device startup"
|
|
default y
|
|
help
|
|
If this option is set, then the networking system is automatically
|
|
initialized when the device is started. If you do not wish to do
|
|
this, then disable this and call net_config_init() in your application.
|
|
|
|
config NET_CONFIG_INIT_PRIO
|
|
int "Startup priority for the network application init"
|
|
default 95
|
|
depends on NET_CONFIG_AUTO_INIT
|
|
|
|
config NET_CONFIG_INIT_TIMEOUT
|
|
int "How long to wait for networking to be ready and available"
|
|
default 30
|
|
depends on NET_CONFIG_AUTO_INIT
|
|
help
|
|
The value is in seconds. If for example IPv4 address from DHCPv4 is not
|
|
received within this limit, then the net_config_init() call will fail
|
|
during the device startup.
|
|
|
|
config NET_CONFIG_NEED_IPV6
|
|
bool "This application wants IPv6 support"
|
|
depends on NET_CONFIG_AUTO_INIT
|
|
select NET_IPV6
|
|
help
|
|
The network application needs IPv6 support to function properly.
|
|
This option makes sure the network application is initialized properly
|
|
in order to use IPv6.
|
|
|
|
config NET_CONFIG_NEED_IPV6_ROUTER
|
|
bool "This application wants IPv6 router to exists"
|
|
depends on NET_CONFIG_AUTO_INIT
|
|
depends on NET_IPV6
|
|
help
|
|
The network application needs IPv6 router to exists before continuing.
|
|
What this means that the application wants to wait until it receives
|
|
IPv6 router advertisement message before continuing.
|
|
|
|
config NET_CONFIG_NEED_IPV4
|
|
bool "This application wants IPv4 support"
|
|
depends on NET_CONFIG_AUTO_INIT
|
|
select NET_IPV4
|
|
help
|
|
The network application needs IPv4 support to function properly.
|
|
This option makes sure the network application is initialized properly
|
|
in order to use IPv4.
|
|
|
|
module = NET_CONFIG
|
|
module-dep = NET_LOG
|
|
module-str = Log level for network config library
|
|
module-help = Enables net config library to output debug messages.
|
|
source "subsys/net/Kconfig.template.log_config.net"
|
|
|
|
menuconfig NET_CONFIG_SETTINGS
|
|
bool "Set network settings for applications"
|
|
select NET_MGMT
|
|
select NET_MGMT_EVENT
|
|
help
|
|
Allow IP addresses to be set in config file for
|
|
networking client/server sample applications, or
|
|
some link-layer dedicated settings like the channel.
|
|
Beware this is not meant to be used for proper
|
|
provisioning but quick sampling/testing.
|
|
|
|
if NET_CONFIG_SETTINGS
|
|
|
|
if NET_IPV6
|
|
|
|
config NET_CONFIG_MY_IPV6_ADDR
|
|
string "My IPv6 address"
|
|
help
|
|
Use 2001:db8::1 here if uncertain.
|
|
|
|
config NET_CONFIG_PEER_IPV6_ADDR
|
|
string "Peer IPv6 address"
|
|
help
|
|
This is only applicable in client side applications that try
|
|
to establish a connection to peer host.
|
|
Use 2001:db8::2 here if uncertain.
|
|
|
|
endif # NET_IPV6
|
|
|
|
if NET_IPV4
|
|
|
|
config NET_CONFIG_MY_IPV4_ADDR
|
|
string "My IPv4 address"
|
|
help
|
|
Use 192.0.2.1 here if uncertain.
|
|
|
|
config NET_CONFIG_MY_IPV4_NETMASK
|
|
string "My IPv4 netmask"
|
|
default "255.255.255.0"
|
|
help
|
|
Static netmask to use if not overridden by DHCP. Use empty value to
|
|
skip setting static value.
|
|
|
|
config NET_CONFIG_MY_IPV4_GW
|
|
string "My IPv4 gateway"
|
|
help
|
|
Static gateway to use if not overridden by DHCP. Use empty value to
|
|
skip setting static value.
|
|
|
|
config NET_CONFIG_PEER_IPV4_ADDR
|
|
string "Peer IPv4 address"
|
|
help
|
|
This is only applicable in client side applications that try
|
|
to establish a connection to peer host.
|
|
Use 192.0.2.2 here if uncertain.
|
|
|
|
endif # NET_IPV4
|
|
|
|
config NET_CONFIG_IEEE802154_DEV_NAME
|
|
string "IEEE 802.15.4 device name"
|
|
depends on NET_L2_IEEE802154 || IEEE802154_RAW_MODE || NET_L2_OPENTHREAD
|
|
help
|
|
The device name to get bindings from in the sample application.
|
|
|
|
if NET_L2_IEEE802154 || IEEE802154_RAW_MODE
|
|
|
|
config NET_CONFIG_IEEE802154_PAN_ID
|
|
hex "IEEE 802.15.4 PAN ID"
|
|
default 0xabcd
|
|
help
|
|
The PAN ID to use by default in the sample.
|
|
|
|
config NET_CONFIG_IEEE802154_CHANNEL
|
|
int "IEEE 802.15.4 channel"
|
|
default 26
|
|
help
|
|
The channel to use by default in the sample application.
|
|
|
|
config NET_CONFIG_IEEE802154_RADIO_TX_POWER
|
|
int "IEEE 802.15.4 TX power in dbm"
|
|
default 0
|
|
help
|
|
The TX power to use by default in the sample application.
|
|
See NET_L2_IEEE802154_RADIO_DFLT_TX_POWER for more info.
|
|
|
|
config NET_CONFIG_IEEE802154_SECURITY_KEY
|
|
string "IEEE 802.15.4 security key"
|
|
default "moooh!"
|
|
depends on NET_L2_IEEE802154_SECURITY
|
|
help
|
|
The key string to use for the link-layer security part.
|
|
|
|
config NET_CONFIG_IEEE802154_SECURITY_KEY_MODE
|
|
int "IEEE 802.15.4 security key mode"
|
|
default 0
|
|
range 0 0
|
|
depends on NET_L2_IEEE802154_SECURITY
|
|
help
|
|
The key mode to use for the link-layer security part.
|
|
Only implicit mode is supported, thus 0.
|
|
|
|
config NET_CONFIG_IEEE802154_SECURITY_LEVEL
|
|
int "IEEE 802.15.4 security level (0-7)"
|
|
default 0
|
|
range 0 7
|
|
depends on NET_L2_IEEE802154_SECURITY
|
|
help
|
|
The security level to use for the link-layer security part.
|
|
0 means no security
|
|
1 authentication only with a 4 bytes length tag
|
|
2 authentication only with a 8 bytes length tag
|
|
3 authentication only with a 16 bytes length tag
|
|
4 encryption only
|
|
5 encryption/authentication with a 4 bytes length tag
|
|
6 encryption/authentication with a 8 bytes length tag
|
|
7 encryption/authentication with a 16 bytes length tag
|
|
|
|
endif # NET_L2_IEEE802154 || IEEE802154_RAW_MODE
|
|
|
|
config NET_CONFIG_BT_NODE
|
|
bool "Enable Bluetooth node support"
|
|
depends on NET_L2_BT
|
|
select NET_L2_BT_MGMT
|
|
help
|
|
Enables application to operate in node mode which requires GATT
|
|
service to be registered and start advertising as peripheral.
|
|
|
|
endif # NET_CONFIG_SETTINGS
|
|
|
|
config NET_CONFIG_CLOCK_SNTP_INIT
|
|
bool "Initialize system clock using SNTP on application startup"
|
|
depends on SNTP && POSIX_CLOCK
|
|
help
|
|
Perform an SNTP request over networking to get and absolute
|
|
wall clock time, and initialize system time from it, so
|
|
functions like time(), gettimeofday(), etc. returned the
|
|
correct absolute time (no just time since system startup).
|
|
Requires networking.
|
|
|
|
if NET_CONFIG_CLOCK_SNTP_INIT
|
|
|
|
config NET_CONFIG_SNTP_INIT_SERVER
|
|
string "SNTP server to use for system clock init"
|
|
default ""
|
|
help
|
|
Zephyr does not provide default setting for this option. Each
|
|
application and vendor should choose a suitable setting based
|
|
on their locality, needs, and server's terms of service. See
|
|
e.g. server information at
|
|
https://support.ntp.org/bin/view/Servers/NTPPoolServers
|
|
|
|
config NET_CONFIG_SNTP_INIT_TIMEOUT
|
|
int "SNTP timeout to init system clock (ms)"
|
|
default 3000
|
|
|
|
endif # NET_CONFIG_CLOCK_SNTP_INIT
|