# Kconfig - Hostname config

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

config NET_HOSTNAME_ENABLE
	bool "Add hostname to the device"
	default n
	help
	This is used for example in mDNS to respond to <hostname>.local
	mDNS queries.

if NET_HOSTNAME_ENABLE

config NET_HOSTNAME
	string "The hostname of this device"
	default "zephyr"
	help
	The string should be a valid hostname.

config NET_HOSTNAME_UNIQUE
	bool "Make hostname unique"
	default n
	help
	This will append link address to hostname to create a unique
	hostname. For example, zephyr00005e005357 could be the hostname
	if this	setting is enabled.

config  NET_DEBUG_HOSTNAME
	bool "Debug hostname configuration"
	default n
	depends on NET_LOG
	help
	Enables hostname configuration functions to output debug messages

endif
