From 224941480bb5e41ee6b43e3bf0f357568f18d44f Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Sun, 24 Oct 2021 21:20:44 +0200 Subject: vyos-router: dhcpv6: T3885: add alternative UUID source Not all boards/devices ship the /sys/class/dmi/id/product_uuid file, thus a fallback is used (e.g. on PCEngines APU4 board) which feeds the device specific UUID from /sys/class/dmi/id/product_serial --- scripts/init/vyos-router | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'scripts') 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" -- cgit v1.2.3