147 lines
4.6 KiB
Plaintext
147 lines
4.6 KiB
Plaintext
# 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 4200 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_STACK_SIZE
|
|
int "Size of the stack allocated for the event_mon_stack thread"
|
|
depends on NET_MGMT_EVENT_MONITOR
|
|
default 1024
|
|
help
|
|
Sets the size of the stack for event_mon_stack_thread.
|
|
|
|
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.
|
|
|
|
config NET_MGMT_THREAD_PRIO_CUSTOM
|
|
bool "Customize net mgmt thread priority"
|
|
|
|
if NET_MGMT_THREAD_PRIO_CUSTOM
|
|
config NET_MGMT_THREAD_PRIORITY
|
|
int "Priority of net_mgmt thread"
|
|
default NUM_PREEMPT_PRIORITIES
|
|
|
|
endif # NET_MGMT_THREAD_PRIO_CUSTOM
|
|
|
|
endif # NET_MGMT_EVENT
|