summaryrefslogtreecommitdiff
path: root/node
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2014-01-28 10:41:43 -0800
committerAdam Ierymenko <adam.ierymenko@gmail.com>2014-01-28 10:41:43 -0800
commit8b65b3e6d78fdf4be82ab79f37c477bf2b675c0e (patch)
tree86f135242f584b3dd49ccce1b636227537b4d7dd /node
parentffffc0179f57a2b2de0a4bf09a354f2fa5498be5 (diff)
downloadinfinitytier-8b65b3e6d78fdf4be82ab79f37c477bf2b675c0e.tar.gz
infinitytier-8b65b3e6d78fdf4be82ab79f37c477bf2b675c0e.zip
Yank PROBE stuff since it's not used and was a premature addition to the protocol.
Diffstat (limited to 'node')
-rw-r--r--node/Packet.cpp1
-rw-r--r--node/Packet.hpp33
-rw-r--r--node/PacketDecoder.cpp21
-rw-r--r--node/PacketDecoder.hpp1
-rw-r--r--node/Switch.cpp14
-rw-r--r--node/Switch.hpp10
6 files changed, 1 insertions, 79 deletions
diff --git a/node/Packet.cpp b/node/Packet.cpp
index 41fbe1b7..098360fe 100644
--- a/node/Packet.cpp
+++ b/node/Packet.cpp
@@ -48,7 +48,6 @@ const char *Packet::verbString(Verb v)
case VERB_NETWORK_MEMBERSHIP_CERTIFICATE: return "NETWORK_MEMBERSHIP_CERTIFICATE";
case VERB_NETWORK_CONFIG_REQUEST: return "NETWORK_CONFIG_REQUEST";
case VERB_NETWORK_CONFIG_REFRESH: return "NETWORK_CONFIG_REFRESH";
- case VERB_PROBE: return "PROBE";
}
return "(unknown)";
}
diff --git a/node/Packet.hpp b/node/Packet.hpp
index be5ffb54..1b1414aa 100644
--- a/node/Packet.hpp
+++ b/node/Packet.hpp
@@ -225,16 +225,6 @@
#define ZT_PROTO_VERB_NETWORK_CONFIG_REQUEST__OK__IDX_DICT_LEN (ZT_PROTO_VERB_NETWORK_CONFIG_REQUEST__OK__IDX_NETWORK_ID + 8)
#define ZT_PROTO_VERB_NETWORK_CONFIG_REQUEST__OK__IDX_DICT (ZT_PROTO_VERB_NETWORK_CONFIG_REQUEST__OK__IDX_DICT_LEN + 2)
-#define ZT_PROTO_VERB_PROBE_IDX_TIMESTAMP (ZT_PACKET_IDX_PAYLOAD)
-#define ZT_PROTO_VERB_PROBE_LEN_TIMESTAMP 8
-#define ZT_PROTO_VERB_PROBE_IDX_MS_SINCE_LAST_SEND (ZT_PROTO_VERB_PROBE_IDX_TIMESTAMP + ZT_PROTO_VERB_PROBE_LEN_TIMESTAMP)
-#define ZT_PROTO_VERB_PROBE_LEN_MS_SINCE_LAST_SEND 8
-
-#define ZT_PROTO_VERB_PROBE__OK__IDX_TIMESTAMP (ZT_PACKET_IDX_PAYLOAD)
-#define ZT_PROTO_VERB_PROBE__OK__LEN_TIMESTAMP 8
-#define ZT_PROTO_VERB_PROBE__OK__IDX_MS_SINCE_LAST_SEND (ZT_PROTO_VERB_PROBE_IDX_TIMESTAMP + ZT_PROTO_VERB_PROBE_LEN_TIMESTAMP)
-#define ZT_PROTO_VERB_PROBE__OK__LEN_MS_SINCE_LAST_SEND 8
-
// ---------------------------------------------------------------------------
namespace ZeroTier {
@@ -621,28 +611,7 @@ public:
* It does not generate an OK or ERROR message, and is treated only as
* a hint to refresh now.
*/
- VERB_NETWORK_CONFIG_REFRESH = 12,
-
- /* Probe peer connection status:
- * <[8] 64-bit timestamp>
- * <[8] 64-bit milliseconds since last send to this peer>
- *
- * This message is sent to probe the status of a peer and to confirm
- * new link-layer addresses. Upon receipt an OK is generated which
- * echoes the time and responds with the number of milliseconds since
- * the recipient has last sent a packet to the sender.
- *
- * Using these delay times, a peer may determine if its current route
- * to another peer is likely dead and default to another route (e.g.
- * reverting to relaying).
- *
- * OK response payload:
- * <[8] 64-bit timestamp echoed from request>
- * <[8] 64-bit milliseconds since last send to requesitng peer>
- *
- * ERROR is not generated.
- */
- VERB_PROBE = 13
+ VERB_NETWORK_CONFIG_REFRESH = 12
};
/**
diff --git a/node/PacketDecoder.cpp b/node/PacketDecoder.cpp
index 410e273e..59a33923 100644
--- a/node/PacketDecoder.cpp
+++ b/node/PacketDecoder.cpp
@@ -106,8 +106,6 @@ bool PacketDecoder::tryDecode(const RuntimeEnvironment *_r)
return _doNETWORK_CONFIG_REQUEST(_r,peer);
case Packet::VERB_NETWORK_CONFIG_REFRESH:
return _doNETWORK_CONFIG_REFRESH(_r,peer);
- case Packet::VERB_PROBE:
- return _doPROBE(_r,peer);
default:
// This might be something from a new or old version of the protocol.
// Technically it passed MAC so the packet is still valid, but we
@@ -934,23 +932,4 @@ bool PacketDecoder::_doNETWORK_CONFIG_REFRESH(const RuntimeEnvironment *_r,const
return true;
}
-bool PacketDecoder::_doPROBE(const RuntimeEnvironment *_r,const SharedPtr<Peer> &peer)
-{
- try {
- uint64_t ts = at<uint64_t>(ZT_PROTO_VERB_PROBE_IDX_TIMESTAMP);
- //uint64_t msSinceLastSend = at<uint64_t>(ZT_PROTO_VERB_PROBE_IDX_MS_SINCE_LAST_SEND);
- Packet outp(source(),_r->identity.address(),Packet::VERB_OK);
- outp.append((unsigned char)Packet::VERB_PROBE);
- outp.append(ts);
- outp.append(peer->lastDirectSend()); // FIXME: need to refactor to also track relayed sends
- outp.armor(peer->key(),true);
- _r->demarc->send(_localPort,_remoteAddress,outp.data(),outp.size(),-1);
- } catch (std::exception &exc) {
- TRACE("dropped PROBE from %s(%s): unexpected exception: %s",source().toString().c_str(),_remoteAddress.toString().c_str(),exc.what());
- } catch ( ... ) {
- TRACE("dropped PROBE from %s(%s): unexpected exception: (unknown)",source().toString().c_str(),_remoteAddress.toString().c_str());
- }
- return true;
-}
-
} // namespace ZeroTier
diff --git a/node/PacketDecoder.hpp b/node/PacketDecoder.hpp
index 8b1cf342..72b05290 100644
--- a/node/PacketDecoder.hpp
+++ b/node/PacketDecoder.hpp
@@ -122,7 +122,6 @@ private:
bool _doNETWORK_MEMBERSHIP_CERTIFICATE(const RuntimeEnvironment *_r,const SharedPtr<Peer> &peer);
bool _doNETWORK_CONFIG_REQUEST(const RuntimeEnvironment *_r,const SharedPtr<Peer> &peer);
bool _doNETWORK_CONFIG_REFRESH(const RuntimeEnvironment *_r,const SharedPtr<Peer> &peer);
- bool _doPROBE(const RuntimeEnvironment *_r,const SharedPtr<Peer> &peer);
uint64_t _receiveTime;
Demarc::Port _localPort;
diff --git a/node/Switch.cpp b/node/Switch.cpp
index cf3580df..5000bdcd 100644
--- a/node/Switch.cpp
+++ b/node/Switch.cpp
@@ -225,20 +225,6 @@ bool Switch::sendHELLO(const SharedPtr<Peer> &dest,Demarc::Port localPort,const
} else return false;
}
-bool Switch::sendPROBE(const SharedPtr<Peer> &dest,Demarc::Port localPort,const InetAddress &remoteAddr)
-{
- uint64_t now = Utils::now();
- Packet outp(dest->address(),_r->identity.address(),Packet::VERB_PROBE);
- outp.append(now);
- outp.append(dest->lastDirectSend()); // FIXME: need to refactor to also track relayed sends
- outp.armor(dest->key(),true);
-
- if (_r->demarc->send(localPort,remoteAddr,outp.data(),outp.size(),-1)) {
- dest->expectResponseTo(outp.packetId(),Packet::VERB_PROBE,localPort,now);
- return true;
- } else return false;
-}
-
bool Switch::unite(const Address &p1,const Address &p2,bool force)
{
if ((p1 == _r->identity.address())||(p2 == _r->identity.address()))
diff --git a/node/Switch.hpp b/node/Switch.hpp
index e415a2c9..6b3b8e6e 100644
--- a/node/Switch.hpp
+++ b/node/Switch.hpp
@@ -130,16 +130,6 @@ public:
bool sendHELLO(const SharedPtr<Peer> &dest,Demarc::Port localPort,const InetAddress &remoteAddr);
/**
- * Send a PROBE immediately to the indicated address
- *
- * @param localPort Originating local port or ANY_PORT to pick
- * @param remoteAddr IP address to send to
- * @param dest Destination peer
- * @return True if send appears successful
- */
- bool sendPROBE(const SharedPtr<Peer> &dest,Demarc::Port localPort,const InetAddress &remoteAddr);
-
- /**
* Send RENDEZVOUS to two peers to permit them to directly connect
*
* This only works if both peers are known, with known working direct