base-files: reduce IPv6 ULA prefix generation to a single call
[openwrt/openwrt.git] / package / base-files / files / etc / uci-defaults / 12_network-generate-ula
index 19d7ed7f2ea649cb6082d8806782a75132c5b197..060d0ef640d54238570ae6a805c8836ec692be0e 100644 (file)
@@ -1,11 +1,7 @@
 [ "$(uci -q get network.globals.ula_prefix)" != "auto" ] && exit 0
 
-r1=$(dd if=/dev/urandom bs=1 count=1 |hexdump -e '1/1 "%02x"')
-r2=$(dd if=/dev/urandom bs=2 count=1 |hexdump -e '2/1 "%02x"')
-r3=$(dd if=/dev/urandom bs=2 count=1 |hexdump -e '2/1 "%02x"')
-
 uci -q batch <<-EOF >/dev/null
-       set network.globals.ula_prefix=fd$r1:$r2:$r3::/48
+       set network.globals.ula_prefix="$(hexdump -vn 5 -e '"fd" 1/1 "%02x:" 2/2 "%x:"' /dev/urandom):/48"
        commit network
 EOF