|  | @@ -1861,6 +1861,7 @@ NetworkController::ResultCode SqliteNetworkController::_doNetworkConfigRequest(c
 | 
	
		
			
				|  |  |  			netconf[ZT_NETWORKCONFIG_DICT_KEY_MULTICAST_LIMIT] = ml;
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +		bool amActiveBridge = false;
 | 
	
		
			
				|  |  |  		{
 | 
	
		
			
				|  |  |  			std::string activeBridges;
 | 
	
		
			
				|  |  |  			sqlite3_reset(_sGetActiveBridges);
 | 
	
	
		
			
				|  | @@ -1871,6 +1872,8 @@ NetworkController::ResultCode SqliteNetworkController::_doNetworkConfigRequest(c
 | 
	
		
			
				|  |  |  					if (activeBridges.length())
 | 
	
		
			
				|  |  |  						activeBridges.push_back(',');
 | 
	
		
			
				|  |  |  					activeBridges.append(ab);
 | 
	
		
			
				|  |  | +					if (!strcmp(member.nodeId,ab))
 | 
	
		
			
				|  |  | +						amActiveBridge = true;
 | 
	
		
			
				|  |  |  				}
 | 
	
		
			
				|  |  |  				if (activeBridges.length() > 1024) // sanity check -- you can't have too many active bridges at the moment
 | 
	
		
			
				|  |  |  					break;
 | 
	
	
		
			
				|  | @@ -1992,7 +1995,7 @@ NetworkController::ResultCode SqliteNetworkController::_doNetworkConfigRequest(c
 | 
	
		
			
				|  |  |  				}
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -			if (!haveStaticIpAssignment) {
 | 
	
		
			
				|  |  | +			if ((!haveStaticIpAssignment)&&(!amActiveBridge)) {
 | 
	
		
			
				|  |  |  				// Attempt to auto-assign an IPv4 address from an available routed pool
 | 
	
		
			
				|  |  |  				sqlite3_reset(_sGetIpAssignmentPools);
 | 
	
		
			
				|  |  |  				sqlite3_bind_text(_sGetIpAssignmentPools,1,network.id,16,SQLITE_STATIC);
 |