# Copyright (c) 2019 Intel Corporation
# SPDX-License-Identifier: Apache-2.0

menuconfig NET_CONNECTION_MANAGER
	bool "Network connection manager"
	depends on NET_IPV6 || NET_IPV4
	select NET_MGMT
	select NET_MGMT_EVENT
	select NET_MGMT_EVENT_INFO
	help
	  When enabled, this will start the connection manager that will
	  listen to network interface and IP events in order to verify
	  whether an interface is connected or not. It will then raise
	  L4 events "connected" or "disconnected" depending on the result.

if NET_CONNECTION_MANAGER

module = NET_CONNECTION_MANAGER
module-dep = NET_LOG
module-str = Log level for connection manager
module-help = Enables connection manager code to output debug messages.
source "subsys/net/Kconfig.template.log_config.net"

config NET_CONNECTION_MANAGER_MONITOR_STACK_SIZE
	int "Size of the stack allocated for the conn_mgr_monitor thread"
	default 512
	help
	  Sets the stack size which will be used by the connection manager for connectivity monitoring.

config NET_CONNECTION_MANAGER_MONITOR_PRIORITY
	int "Monitoring thread starting priority"
	default 1
	range 1 99
	help
	  This sets the starting priority of the conn_mgr_monitor thread.

config NET_CONNECTION_MANAGER_AUTO_IF_DOWN
	bool "Automatically call net_if_down on ifaces that have given up on connecting"
	default y

config NET_CONNECTION_MANAGER_CONNECTIVITY_WIFI_MGMT
	bool "Generic WiFi management connectivity implementation"
	depends on NET_L2_WIFI_MGMT
	help
	  Enable CONNECTIVITY_WIFI_MGMT connectivity bindings on WiFi drivers.
	  Which implementation is compiled is controlled via CONNECTIVITY_WIFI_MGMT_IMPL.

choice CONNECTIVITY_WIFI_MGMT_IMPL
	prompt "Implementation of the generic wifi_mgmt connectivity backend"
	depends on NET_CONNECTION_MANAGER_CONNECTIVITY_WIFI_MGMT
	default CONNECTIVITY_WIFI_MGMT_APPLICATION

config CONNECTIVITY_WIFI_MGMT_APPLICATION
	bool "Application specific implementation of the connectivity backend"
	help
	  The application defines its own implementation of CONNECTIVITY_WIFI_MGMT.

endchoice

endif # NET_CONNECTION_MANAGER
