While ath9k/ath10k devices can supprt VIFs with any combination of MAC addresses, there are also adapters which have a hardware MAC filter which only allows a few bits to differ. This commit changes the addresses of all VIFs to ony differ in the last 3 bits, which is required to support many Ralink/Mediatek based WLAN adapters. Technically, the new addresses are generated by calculating an MD5 hash of the primary MAC address and using a part of this hash as a prefix for the MAC addresses. The addresses (BSSIDs) of the AP VIFs are also reused for the LAN and WAN interfaces in mesh-on-LAN/WAN mode to reduce the number of needed addresses, and thus reduce the chance of collisions. This is not a problem as the MAC addresses of the AP VIFs are never used except as BSSID, and thus not seen by routing protocols like batman-adv. Fixes #648 [Matthias Schiffer: rewrote commit message]
		
			
				
	
	
		
			47 lines
		
	
	
		
			981 B
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			981 B
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| include $(TOPDIR)/rules.mk
 | |
| 
 | |
| PKG_NAME:=gluon-core
 | |
| PKG_VERSION:=3
 | |
| PKG_RELEASE:=$(GLUON_VERSION)
 | |
| 
 | |
| PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 | |
| 
 | |
| include $(GLUONDIR)/include/package.mk
 | |
| 
 | |
| define Package/gluon-core
 | |
|   SECTION:=gluon
 | |
|   CATEGORY:=Gluon
 | |
|   TITLE:=Base files of Gluon
 | |
|   DEPENDS:=+gluon-site +libgluonutil +lua-platform-info +lua-hash +luci-base +luci-lib-jsonc +odhcp6c +firewall
 | |
| endef
 | |
| 
 | |
| 
 | |
| define Package/gluon-core/description
 | |
| 	Gluon community wifi mesh firmware framework: core
 | |
| endef
 | |
| 
 | |
| define Build/Prepare
 | |
| 	mkdir -p $(PKG_BUILD_DIR)
 | |
| endef
 | |
| 
 | |
| define Build/Configure
 | |
| endef
 | |
| 
 | |
| define Build/Compile
 | |
| endef
 | |
| 
 | |
| define Package/gluon-core/install
 | |
| 	$(CP) ./files/* $(1)/
 | |
| 	$(SED) 's/__GLUON_OPENWRT_FEEDS__/{$(GLUON_OPENWRT_FEEDS:%="%",)}/' $(1)/lib/gluon/upgrade/500-opkg
 | |
| 
 | |
| 	$(INSTALL_DIR) $(1)/lib/gluon
 | |
| 	echo "$(GLUON_VERSION)" > $(1)/lib/gluon/gluon-version
 | |
| endef
 | |
| 
 | |
| define Package/gluon-core/postinst
 | |
| #!/bin/sh
 | |
| $(call GluonCheckSite,check_site.lua)
 | |
| endef
 | |
| 
 | |
| $(eval $(call BuildPackage,gluon-core))
 |