openwrt-pf/package/base-files/files/etc
David Härdeman a660a076db base-files: generate a global DHCP DUID
odhcp6c and odhcpd currently generate custom DUIDS on a per-interface basis
using the MAC address of the given interface.

This is contrary to how DUIDs are meant to be used, as the client identifier
will vary from interface to interface, while it is meant to remain stable for a
given host, no matter how the network hardware changes (see RFC8415, §11).

The same problem exists in odhcpd, which also generates server-side DUIDs on a
per-interface basis.

In order to support a stable per-device DUID, generate one on first boot and
store it via uci.

Currently, a DUID-UUID style clientid is generated. This is mostly meant as an
RFC, and we might consider using a different kind of DUID instead (DUID-LLT,
DUID-EN).

One drawback is that this will typically change the DUID used on existing
OpenWrt devices when upgrading to a new release. However, that seems
unavoidable and is a one-time pain in order to have stable DUIDs (and in many
cases, it shouldn't cause any issues).

v2: move the uci cfg generation outside of an IPv6-only block since this
is relevant to the DHCPv4 client as well

Signed-off-by: David Härdeman <david@hardeman.nu>
Link: https://github.com/openwrt/openwrt/pull/20359
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-10-19 19:46:22 +02:00
..
board.d
hotplug.d base-files: configure LED when added 2024-10-03 23:05:24 +01:00
init.d base-files: commit and sync before removing defaults script. 2025-10-04 20:49:21 +02:00
iproute2
rc.button fstools: update to latest HEAD 2024-12-02 14:43:09 +01:00
sysctl.d
uci-defaults base-files: generate a global DHCP DUID 2025-10-19 19:46:22 +02:00
banner
banner.failsafe
device_info
diag.sh
ethers
fstab
group
hosts
inittab
openwrt_release
openwrt_version
os-release
passwd
preinit
profile base-files: fix manger->manager typo 2024-11-28 08:10:44 +00:00
protocols
rc.common procd: do not overwrite service data by default 2024-12-17 21:54:54 +01:00
rc.local
services
shadow
shells
shinit
sysctl.conf base-files: /etc/sysctl.conf: clarity in comment 2024-10-03 17:29:02 +02:00
sysupgrade.conf