Hostname Configuration
Overview
A networked device might need a hostname, for example, if the device
is configured to be a mDNS responder (see DNS Resolve for
details) and needs to respond to <hostname>.local
DNS queries.
The CONFIG_NET_HOSTNAME_ENABLE
must be set in order
to store the hostname and enable the relevant APIs. If the option is enabled,
then the default hostname is set to be zephyr
by
CONFIG_NET_HOSTNAME
option.
If the same firmware image is used to flash multiple boards, then it is not
practical to use the same hostname in all of the boards. In that case, one
can enable CONFIG_NET_HOSTNAME_UNIQUE
which will add a unique
postfix to the hostname. By default the link local address of the first network
interface is used as a postfix. In Ethernet networks, the link local address
refers to MAC address. For example, if the link local address is
01:02:03:04:05:06
, then the unique hostname could be
zephyr010203040506
. If you want to set the prefix yourself, then call
net_hostname_set_postfix_str()
before the network interfaces are created.
Alternatively, if you prefer a hexadecimal conversion for the prefix, then call
net_hostname_set_postfix()
. For example for the Ethernet networks,
the initialization priority is set by CONFIG_ETH_INIT_PRIORITY
so you would need to set the postfix before that.
The postfix can be set only once.