|
|
|
@ -274,6 +274,30 @@ mtd_get_mac_binary() { |
|
|
|
|
dd bs=1 skip=$offset count=6 if=$part 2>/dev/null | hexdump -v -n 6 -e '5/1 "%02x:" 1/1 "%02x"' |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
macaddr_add() { |
|
|
|
|
local mac=$1 |
|
|
|
|
local val=$2 |
|
|
|
|
local oui=${mac%:*:*:*} |
|
|
|
|
local nic=${mac#*:*:*:} |
|
|
|
|
|
|
|
|
|
nic=$(printf "%06x" $((0x${nic//:/} + $val & 0xffffff)) | sed 's/^\(.\{2\}\)\(.\{2\}\)\(.\{2\}\)/\1:\2:\3/') |
|
|
|
|
echo $oui:$nic |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
macaddr_setbit_la() |
|
|
|
|
{ |
|
|
|
|
local mac=$1 |
|
|
|
|
|
|
|
|
|
printf "%02x:%s" $((0x${mac%%:*} | 0x02)) ${mac#*:} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
macaddr_2bin() |
|
|
|
|
{ |
|
|
|
|
local mac=$1 |
|
|
|
|
|
|
|
|
|
echo -ne \\x${mac//:/\\x} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
strtok() { # <string> { <variable> [<separator>] ... } |
|
|
|
|
local tmp |
|
|
|
|
local val="$1" |
|
|
|
|