|  | @@ -223,6 +223,8 @@ void Peer::received(
 | 
	
		
			
				|  |  |  		if (sinceLastPush >= ((hops == 0) ? ZT_DIRECT_PATH_PUSH_INTERVAL_HAVEPATH : ZT_DIRECT_PATH_PUSH_INTERVAL)) {
 | 
	
		
			
				|  |  |  			_lastDirectPathPushSent = now;
 | 
	
		
			
				|  |  |  			std::vector<InetAddress> pathsToPush(RR->node->directPaths());
 | 
	
		
			
				|  |  | +			std::vector<InetAddress> ma = RR->sa->whoami();
 | 
	
		
			
				|  |  | +			pathsToPush.insert(pathsToPush.end(), ma.begin(), ma.end());
 | 
	
		
			
				|  |  |  			if (!pathsToPush.empty()) {
 | 
	
		
			
				|  |  |  				std::vector<InetAddress>::const_iterator p(pathsToPush.begin());
 | 
	
		
			
				|  |  |  				while (p != pathsToPush.end()) {
 | 
	
	
		
			
				|  | @@ -452,7 +454,7 @@ void Peer::sendHELLO(void *tPtr,const int64_t localSocket,const InetAddress &atA
 | 
	
		
			
				|  |  |  	if (atAddress) {
 | 
	
		
			
				|  |  |  		outp.armor(_key,false,nullptr); // false == don't encrypt full payload, but add MAC
 | 
	
		
			
				|  |  |  		RR->node->expectReplyTo(outp.packetId());
 | 
	
		
			
				|  |  | -		RR->node->putPacket(tPtr,localSocket,atAddress,outp.data(),outp.size());
 | 
	
		
			
				|  |  | +		RR->node->putPacket(tPtr,-1,atAddress,outp.data(),outp.size());
 | 
	
		
			
				|  |  |  	} else {
 | 
	
		
			
				|  |  |  		RR->node->expectReplyTo(outp.packetId());
 | 
	
		
			
				|  |  |  		RR->sw->send(tPtr,outp,false); // false == don't encrypt full payload, but add MAC
 |