Browse Source

Yank PROBE stuff since it's not used and was a premature addition to the protocol.

Adam Ierymenko 11 years ago
parent
commit
8b65b3e6d7
6 changed files with 1 additions and 79 deletions
  1. 0 1
      node/Packet.cpp
  2. 1 32
      node/Packet.hpp
  3. 0 21
      node/PacketDecoder.cpp
  4. 0 1
      node/PacketDecoder.hpp
  5. 0 14
      node/Switch.cpp
  6. 0 10
      node/Switch.hpp

+ 0 - 1
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_MEMBERSHIP_CERTIFICATE: return "NETWORK_MEMBERSHIP_CERTIFICATE";
 		case VERB_NETWORK_CONFIG_REQUEST: return "NETWORK_CONFIG_REQUEST";
 		case VERB_NETWORK_CONFIG_REQUEST: return "NETWORK_CONFIG_REQUEST";
 		case VERB_NETWORK_CONFIG_REFRESH: return "NETWORK_CONFIG_REFRESH";
 		case VERB_NETWORK_CONFIG_REFRESH: return "NETWORK_CONFIG_REFRESH";
-		case VERB_PROBE: return "PROBE";
 	}
 	}
 	return "(unknown)";
 	return "(unknown)";
 }
 }

+ 1 - 32
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_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_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 {
 namespace ZeroTier {
@@ -621,28 +611,7 @@ public:
 		 * It does not generate an OK or ERROR message, and is treated only as
 		 * It does not generate an OK or ERROR message, and is treated only as
 		 * a hint to refresh now.
 		 * 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
 	};
 	};
 
 
 	/**
 	/**

+ 0 - 21
node/PacketDecoder.cpp

@@ -106,8 +106,6 @@ bool PacketDecoder::tryDecode(const RuntimeEnvironment *_r)
 				return _doNETWORK_CONFIG_REQUEST(_r,peer);
 				return _doNETWORK_CONFIG_REQUEST(_r,peer);
 			case Packet::VERB_NETWORK_CONFIG_REFRESH:
 			case Packet::VERB_NETWORK_CONFIG_REFRESH:
 				return _doNETWORK_CONFIG_REFRESH(_r,peer);
 				return _doNETWORK_CONFIG_REFRESH(_r,peer);
-			case Packet::VERB_PROBE:
-				return _doPROBE(_r,peer);
 			default:
 			default:
 				// This might be something from a new or old version of the protocol.
 				// 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
 				// 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;
 	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
 } // namespace ZeroTier

+ 0 - 1
node/PacketDecoder.hpp

@@ -122,7 +122,6 @@ private:
 	bool _doNETWORK_MEMBERSHIP_CERTIFICATE(const RuntimeEnvironment *_r,const SharedPtr<Peer> &peer);
 	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_REQUEST(const RuntimeEnvironment *_r,const SharedPtr<Peer> &peer);
 	bool _doNETWORK_CONFIG_REFRESH(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;
 	uint64_t _receiveTime;
 	Demarc::Port _localPort;
 	Demarc::Port _localPort;

+ 0 - 14
node/Switch.cpp

@@ -225,20 +225,6 @@ bool Switch::sendHELLO(const SharedPtr<Peer> &dest,Demarc::Port localPort,const
 	} else return false;
 	} 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)
 bool Switch::unite(const Address &p1,const Address &p2,bool force)
 {
 {
 	if ((p1 == _r->identity.address())||(p2 == _r->identity.address()))
 	if ((p1 == _r->identity.address())||(p2 == _r->identity.address()))

+ 0 - 10
node/Switch.hpp

@@ -129,16 +129,6 @@ public:
 	 */
 	 */
 	bool sendHELLO(const SharedPtr<Peer> &dest,Demarc::Port localPort,const InetAddress &remoteAddr);
 	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
 	 * Send RENDEZVOUS to two peers to permit them to directly connect
 	 *
 	 *