Boot Linux faster!

Check our new training course

Boot Linux faster!

Check our new training course
and Creative Commons CC-BY-SA
lecture and lab materials

Bootlin logo

Elixir Cross Referencer

# Kconfig.debug - Debug Options

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

menuconfig NET_LOG
	bool "Enable network stack logging and debugging"
	default n
	select SYS_LOG
	help
	Enable logging in various parts of the network stack.
	Specific debugging options to other sub-menus will be unlocked
	as well (IPv6, IPv4, ...).

if NET_LOG

config SYS_LOG_NET_LEVEL
	int
	prompt "Network Stack Logging level"
	default 1
	depends on SYS_LOG
	range 0 4
	help
	  Sets log level for the network stack.
	  Levels are:
	  0 OFF, do not write
	  1 ERROR, only write SYS_LOG_ERR
	  2 WARNING, write SYS_LOG_WRN in addition to previous level
	  3 INFO, write SYS_LOG_INF in addition to previous levels
	  4 DEBUG, write SYS_LOG_DBG in addition to previous levels

config NET_LOG_GLOBAL
	bool "Enable global network stack logging"
	default n
	select NET_DEBUG_CORE
	select NET_DEBUG_IF
	select NET_DEBUG_UTILS
	select NET_DEBUG_CONTEXT
	select NET_DEBUG_NET_PKT
	select NET_DEBUG_CONN
	select NET_DEBUG_ROUTE if NET_ROUTE
	select NET_DEBUG_IPV6 if NET_IPV6
	select NET_DEBUG_ICMPV6 if NET_IPV6
	select NET_DEBUG_IPV6_NBR_CACHE if NET_IPV6
	select NET_DEBUG_6LO if NET_6LO
	select NET_DEBUG_IPV4 if NET_IPV4
	select NET_DEBUG_ICMPV4 if NET_IPV4
	select NET_DEBUG_DHCPV4 if NET_DHCPV4
	select NET_DEBUG_UDP if NET_UDP
	select NET_DEBUG_TCP if NET_TCP
	select NET_DEBUG_RPL if NET_RPL
	select NET_DEBUG_TRICKLE if NET_TRICKLE
	select NET_DEBUG_MGMT_EVENT if NET_MGMT
	select NET_DEBUG_MGMT_EVENT_STACK if NET_MGMT_EVENT
	help
	By default, logging will apply only on enabled CONFIG_NET_DEBUG_*
	options, on which CONFIG_SYS_LOG_NET_LEVEL would be applied.
	However, if you want all the network stack logging enabled at once,
	use this option. Beware logging takes a lot of ROM/RAM and kills
	execution timing so it can affect your use case.

config NET_DEBUG_CORE
	bool "Debug core IP stack"
	default n
	help
	Enables core network stack code part to output debug messages

config NET_DEBUG_IF
	bool "Debug network interface code"
	default n
	help
	Enables network interface code part to output debug messages

config NET_DEBUG_UTILS
	bool "Debug utility functions in IP stack"
	default n
	help
	Enables utility functions to output debug messages

config NET_DEBUG_CONTEXT
	bool "Debug network context allocation"
	default n
	help
	Enables printing of network context allocations and frees.

config NET_DEBUG_NET_PKT
	bool "Debug network packet and buffer allocation"
	default n
	select NET_BUF_POOL_USAGE
	help
	Enables collection of network packet and buffer allocations and frees.

config NET_DEBUG_NET_PKT_ALL
	bool "Debug network packet and buffer individual allocation"
	default n
	depends on NET_DEBUG_NET_PKT
	help
	Enables printing of network packet and buffer allocations and frees for
	each allocation. This can produce lot of output so it is disabled by
	default.

config NET_DEBUG_NET_PKT_EXTERNALS
	int "How many external network packet allocations"
	default 0
	depends on NET_DEBUG_NET_PKT
	help
	How many external net_pkt objects are there in user specific pools.
	This value is used when allocating space for tracking the
	memory allocations.

config NET_DEBUG_CONN
	bool "Debug connection handling"
	default n
	help
	Enables connection debug messages

config NET_DEBUG_ROUTE
	bool "Debug route management"
	depends on NET_ROUTE
	default n
	help
	Enables routing engine debug messages

endif # NET_LOG