summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--node/Switch.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/node/Switch.cpp b/node/Switch.cpp
index 9c7f3a9a..3918c856 100644
--- a/node/Switch.cpp
+++ b/node/Switch.cpp
@@ -224,6 +224,7 @@ void Switch::onLocalEthernet(const SharedPtr<Network> &network,const MAC &from,c
Address toZT(to.toAddress(network->id()));
if (network->isAllowed(toZT)) {
network->pushMembershipCertificate(toZT,false,Utils::now());
+
if (fromBridged) {
// Must use EXT_FRAME if source is not myself
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 {
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