diff options
| author | Paul Donald | 2024-03-29 15:04:30 +0000 |
|---|---|---|
| committer | Christian Marangi | 2024-04-18 10:55:31 +0000 |
| commit | 27edf28b11f179eb9fc6ab159b68b2fe97ffdf1e (patch) | |
| tree | 1c01e188793ef41ed10f07cde453d37da2e2e2ef | |
| parent | b0422af1b3c7bb227620f0b1ff5552f9148f5a43 (diff) | |
| download | openwrt-27edf28b11f179eb9fc6ab159b68b2fe97ffdf1e.tar.gz | |
base-files: reduce IPv6 ULA prefix generation to a single call
Reduce calls and pipes and read from urandom once directly with hexdump
for the necessary 5 bytes of random data to build the 48 bit ULA Prefix.
Fewer calls and forks; finish quicker; less memory used.
Tested on: 23.05.3
Signed-off-by: Paul Donald <newtwen+github@gmail.com>
| -rw-r--r-- | package/base-files/files/etc/uci-defaults/12_network-generate-ula | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/package/base-files/files/etc/uci-defaults/12_network-generate-ula b/package/base-files/files/etc/uci-defaults/12_network-generate-ula index 19d7ed7f2e..060d0ef640 100644 --- a/package/base-files/files/etc/uci-defaults/12_network-generate-ula +++ b/package/base-files/files/etc/uci-defaults/12_network-generate-ula @@ -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 |