diff options
author | Adam Ierymenko <adam.ierymenko@gmail.com> | 2014-06-21 12:01:26 -0400 |
---|---|---|
committer | Adam Ierymenko <adam.ierymenko@gmail.com> | 2014-06-21 12:01:26 -0400 |
commit | 11e1f7a3fb81d7bcfbb4215e54acca4f85214cae (patch) | |
tree | 6fb360d1db0989a30975dace985e7665de7a268a /node/Switch.cpp | |
parent | 0b0d5fabac8a63f56cee9ff8c87430e00bf35c70 (diff) | |
download | infinitytier-11e1f7a3fb81d7bcfbb4215e54acca4f85214cae.tar.gz infinitytier-11e1f7a3fb81d7bcfbb4215e54acca4f85214cae.zip |
.
Diffstat (limited to 'node/Switch.cpp')
-rw-r--r-- | node/Switch.cpp | 3 |
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 |