summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/control1
-rwxr-xr-xscripts/init/vyos-router6
2 files changed, 6 insertions, 1 deletions
diff --git a/debian/control b/debian/control
index 0d821c5..f5b686d 100644
--- a/debian/control
+++ b/debian/control
@@ -19,6 +19,7 @@ Depends: sed (>= 4.1.5),
libvyatta-cfg1 (>=${binary:Version}),
unionfs-fuse,
systemd,
+ uuid-runtime,
libboost-filesystem1.67.0 | libboost-filesystem1.74.0,
libapt-pkg4.12 | libapt-pkg5.0 | libapt-pkg6.0,
${perl:Depends}, ${shlibs:Depends}
diff --git a/scripts/init/vyos-router b/scripts/init/vyos-router
index bc0517c..c6d84a6 100755
--- a/scripts/init/vyos-router
+++ b/scripts/init/vyos-router
@@ -231,12 +231,16 @@ gen_duid ()
{
DUID_FILE="/var/lib/dhcpv6/dhcp6c_duid"
UUID_FILE="/sys/class/dmi/id/product_uuid"
- if [ ! -f ${UUID_FILE} ]; then
+ UUID_FILE_ALT="/sys/class/dmi/id/product_serial"
+ if [ ! -f ${UUID_FILE} ] && [ ! -f ${UUID_FILE_ALT} ]; then
return 1
fi
# DUID is based on the BIOS/EFI UUID. We omit additional - characters
UUID=$(cat ${UUID_FILE} | tr -d -)
+ if [ -z ${UUID} ]; then
+ UUID=$(uuidgen --sha1 --namespace @dns --name $(cat ${UUID_FILE_ALT}) | tr -d -)
+ fi
# Add DUID type4 (UUID) information
DUID_TYPE="0004"