base-files: add macaddr_{add,2bin,setbit_la} helpers
Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 35614
This commit is contained in:
		@@ -11,7 +11,7 @@ include $(INCLUDE_DIR)/kernel.mk
 | 
				
			|||||||
include $(INCLUDE_DIR)/version.mk
 | 
					include $(INCLUDE_DIR)/version.mk
 | 
				
			||||||
 | 
					
 | 
				
			||||||
PKG_NAME:=base-files
 | 
					PKG_NAME:=base-files
 | 
				
			||||||
PKG_RELEASE:=132
 | 
					PKG_RELEASE:=133
 | 
				
			||||||
 | 
					
 | 
				
			||||||
PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/
 | 
					PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/
 | 
				
			||||||
PKG_BUILD_DEPENDS:=opkg/host
 | 
					PKG_BUILD_DEPENDS:=opkg/host
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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"'
 | 
						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>] ... }
 | 
					strtok() { # <string> { <variable> [<separator>] ... }
 | 
				
			||||||
	local tmp
 | 
						local tmp
 | 
				
			||||||
	local val="$1"
 | 
						local val="$1"
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user