# Copyright (c) 2016 Intel Corporation. # SPDX-License-Identifier: Apache-2.0 menuconfig NET_MGMT bool "Network Management API" help Add support for NM API that enables managing different aspects of the network stack as well as receiving notification on network events (ip address change, iface up and running ...). config NET_MGMT_EVENT bool "Add support for runtime network event notifications" depends on NET_MGMT help This adds support for the stack to notify events towards any relevant listener. This can be necessary when application (or else) needs to be notified on a specific network event (ip address change for instance) to trigger some related work. if NET_MGMT_EVENT choice NET_MGMT_EVENT_WORKER prompt "Network event scheduling" default NET_MGMT_EVENT_THREAD config NET_MGMT_EVENT_THREAD bool "Separate network events thread" help Create a dedicated thread for network event callback handlers. If NET_MGMT_EVENT_INFO is enabled the data will be copied to a message queue. config NET_MGMT_EVENT_SYSTEM_WORKQUEUE bool "System work queue" help Submit work to the system work queue to schedule calling network event callback handlers. If NET_MGMT_EVENT_INFO is enabled the data will be copied to a message queue. config NET_MGMT_EVENT_DIRECT bool "Trigger callback on event emit" help Call network event handlers when the event is emitted. If NET_MGMT_EVENT_INFO is enabled a data pointer is passed to callback handlers, no info data is copied. endchoice config NET_MGMT_EVENT_QUEUE bool default y depends on NET_MGMT_EVENT_THREAD || NET_MGMT_EVENT_SYSTEM_WORKQUEUE help Hidden option to enable the network event's queue if asynchronous callbacks are done. config NET_MGMT_EVENT_STACK_SIZE int "Stack size for the inner thread handling event callbacks" default 4096 if WIFI_NM_WPA_SUPPLICANT default 2048 if COVERAGE_GCOV default 840 if X86 default 800 if THREAD_LOCAL_STORAGE default 768 depends on NET_MGMT_EVENT_THREAD help Set the internal stack size for NM to run registered callbacks on events. config NET_MGMT_EVENT_QUEUE_SIZE int "Size of event queue" default 16 if NET_MGMT_EVENT_MONITOR default 5 range 1 1024 depends on NET_MGMT_EVENT_QUEUE help Numbers of events which can be queued at same time. Note that if a 3rd event comes in, the first will be removed without generating any notification. Thus the size of this queue has to be tweaked depending on the load of the system, planned for the usage. config NET_MGMT_EVENT_QUEUE_TIMEOUT int "Timeout for event queue" default 10 range 1 10000 depends on NET_MGMT_EVENT_QUEUE help Timeout in milliseconds for the event queue. This timeout is used to wait for the queue to be available. config NET_MGMT_EVENT_INFO bool "Passing information along with an event" help Event notifier will be able to provide information to an event, and listeners will then be able to get it. Such information depends on the type of event. config NET_MGMT_EVENT_MONITOR bool "Monitor network events from net shell" depends on NET_SHELL && NET_MGMT_EVENT_INFO help Allow user to monitor network events from net shell using "net events [on|off]" command. The monitoring is disabled by default. Note that you should probably increase the value of NET_MGMT_EVENT_QUEUE_SIZE from the default in order not to miss any events. config NET_MGMT_EVENT_MONITOR_AUTO_START bool "Start the event monitor automatically at boot" depends on NET_MGMT_EVENT_MONITOR && SHELL_BACKEND_SERIAL help Allow user to start monitoring network events automatically when the system starts. The auto start is disabled by default. The default UART based shell is used to print data. module = NET_MGMT_EVENT module-dep = NET_LOG module-str = Log level for network management event core module-help = Enable debug messages output for network management events. source "subsys/net/Kconfig.template.log_config.net" config NET_DEBUG_MGMT_EVENT_STACK bool "Stack analysis output on Net MGMT event core" select INIT_STACKS depends on NET_MGMT_EVENT_THREAD help Add debug messages output on how much Net MGMT event stack is used. endif # NET_MGMT_EVENT