base-files: add macaddr_{add,2bin,setbit_la} helpers

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35614
lede-17.01
Gabor Juhos 2013-02-16 11:50:22 +00:00
parent 753d713e92
commit 5a8c63b47e
2 changed files with 25 additions and 1 deletions

View File

@ -11,7 +11,7 @@ include $(INCLUDE_DIR)/kernel.mk
include $(INCLUDE_DIR)/version.mk
PKG_NAME:=base-files
PKG_RELEASE:=132
PKG_RELEASE:=133
PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/
PKG_BUILD_DEPENDS:=opkg/host

View File

@ -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"