Adam Ierymenko 11 years ago
parent
commit
11e1f7a3fb
1 changed files with 3 additions and 0 deletions
  1. 3 0
      node/Switch.cpp

+ 3 - 0
node/Switch.cpp

@@ -224,6 +224,7 @@ void Switch::onLocalEthernet(const SharedPtr<Network> &network,const MAC &from,c
 		Address toZT(to.toAddress(network->id()));
 		Address toZT(to.toAddress(network->id()));
 		if (network->isAllowed(toZT)) {
 		if (network->isAllowed(toZT)) {
 			network->pushMembershipCertificate(toZT,false,Utils::now());
 			network->pushMembershipCertificate(toZT,false,Utils::now());
+
 			if (fromBridged) {
 			if (fromBridged) {
 				// Must use EXT_FRAME if source is not myself
 				// Must use EXT_FRAME if source is not myself
 				Packet outp(toZT,_r->identity.address(),Packet::VERB_EXT_FRAME);
 				Packet outp(toZT,_r->identity.address(),Packet::VERB_EXT_FRAME);
@@ -247,6 +248,8 @@ void Switch::onLocalEthernet(const SharedPtr<Network> &network,const MAC &from,c
 		} else {
 		} else {
 			TRACE("%s: UNICAST: %s -> %s %s dropped, destination not a member of closed network %.16llx",network->tapDeviceName().c_str(),from.toString().c_str(),to.toString().c_str(),etherTypeName(etherType),network->id());
 			TRACE("%s: UNICAST: %s -> %s %s dropped, destination not a member of closed network %.16llx",network->tapDeviceName().c_str(),from.toString().c_str(),to.toString().c_str(),etherTypeName(etherType),network->id());
 		}
 		}
+
+		return;
 	}
 	}
 
 
 	// Destination is behind another bridge
 	// Destination is behind another bridge