From: Wolfgang Bumiller Date: Wed, 13 Jul 2016 14:25:45 +0000 (+0200) Subject: tools: optional prefix for random_ether_addr X-Git-Url: https://git.proxmox.com/?p=pve-common.git;a=commitdiff_plain;h=123921731abd556c038c746973fee1a1c87b6920 tools: optional prefix for random_ether_addr --- diff --git a/src/PVE/Tools.pm b/src/PVE/Tools.pm index 0d03b04..0fb7f3c 100644 --- a/src/PVE/Tools.pm +++ b/src/PVE/Tools.pm @@ -980,6 +980,7 @@ sub decode_utf8_parameters { } sub random_ether_addr { + my ($prefix) = @_; my ($seconds, $microseconds) = gettimeofday; @@ -988,7 +989,11 @@ sub random_ether_addr { # clear multicast, set local id vec($rand, 0, 8) = (vec($rand, 0, 8) & 0xfe) | 2; - return sprintf("%02X:%02X:%02X:%02X:%02X:%02X", unpack("C6", $rand)); + my $addr = sprintf("%02X:%02X:%02X:%02X:%02X:%02X", unpack("C6", $rand)); + if (defined($prefix)) { + $addr = uc($prefix) . substr($addr, length($prefix)); + } + return $addr; } sub shellquote {