diff options
author | Adam Ierymenko <adam.ierymenko@gmail.com> | 2014-01-28 10:41:43 -0800 |
---|---|---|
committer | Adam Ierymenko <adam.ierymenko@gmail.com> | 2014-01-28 10:41:43 -0800 |
commit | 8b65b3e6d78fdf4be82ab79f37c477bf2b675c0e (patch) | |
tree | 86f135242f584b3dd49ccce1b636227537b4d7dd /node | |
parent | ffffc0179f57a2b2de0a4bf09a354f2fa5498be5 (diff) | |
download | infinitytier-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.cpp | 1 | ||||
-rw-r--r-- | node/Packet.hpp | 33 | ||||
-rw-r--r-- | node/PacketDecoder.cpp | 21 | ||||
-rw-r--r-- | node/PacketDecoder.hpp | 1 | ||||
-rw-r--r-- | node/Switch.cpp | 14 | ||||
-rw-r--r-- | node/Switch.hpp | 10 |
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 |