| # 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 |