summaryrefslogtreecommitdiff
path: root/node/Switch.cpp
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2014-06-21 12:01:26 -0400
committerAdam Ierymenko <adam.ierymenko@gmail.com>2014-06-21 12:01:26 -0400
commit11e1f7a3fb81d7bcfbb4215e54acca4f85214cae (patch)
tree6fb360d1db0989a30975dace985e7665de7a268a /node/Switch.cpp
parent0b0d5fabac8a63f56cee9ff8c87430e00bf35c70 (diff)
downloadinfinitytier-11e1f7a3fb81d7bcfbb4215e54acca4f85214cae.tar.gz
infinitytier-11e1f7a3fb81d7bcfbb4215e54acca4f85214cae.zip
.
Diffstat (limited to 'node/Switch.cpp')
-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