diff options
author | Gabor Juhos <juhosg@openwrt.org> | 2013-02-16 11:50:22 +0000 |
---|---|---|
committer | Gabor Juhos <juhosg@openwrt.org> | 2013-02-16 11:50:22 +0000 |
commit | 5a8c63b47e19f6569f54a046cfd74925d35550a6 (patch) | |
tree | 793e4cf1dbc808df9ad1e6b4fd1a501af2b90947 /package/base-files | |
parent | 753d713e92d593b8eab74625fccddc866667ec66 (diff) | |
download | upstream-5a8c63b47e19f6569f54a046cfd74925d35550a6.tar.gz upstream-5a8c63b47e19f6569f54a046cfd74925d35550a6.tar.bz2 upstream-5a8c63b47e19f6569f54a046cfd74925d35550a6.zip |
base-files: add macaddr_{add,2bin,setbit_la} helpers
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 35614
Diffstat (limited to 'package/base-files')
-rw-r--r-- | package/base-files/Makefile | 2 | ||||
-rwxr-xr-x | package/base-files/files/lib/functions.sh | 24 |
2 files changed, 25 insertions, 1 deletions
diff --git a/package/base-files/Makefile b/package/base-files/Makefile index 26fa1b723d..789b5f6792 100644 --- a/package/base-files/Makefile +++ b/package/base-files/Makefile @@ -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 diff --git a/package/base-files/files/lib/functions.sh b/package/base-files/files/lib/functions.sh index 2022e8a3aa..a488f4dc01 100755 --- a/package/base-files/files/lib/functions.sh +++ b/package/base-files/files/lib/functions.sh @@ -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" |