summaryrefslogtreecommitdiff
path: root/node/Packet.hpp
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2015-01-05 11:47:22 -0800
committerAdam Ierymenko <adam.ierymenko@gmail.com>2015-01-05 11:47:22 -0800
commit56cfe1d603104784ec40d94d8ac689391ef2e0eb (patch)
tree2a62a6b94e2a0702f3ecb373cbc4b9d5d2870a2d /node/Packet.hpp
parent95e303d6f316e4a929d119a4255c79cca5a8a6e6 (diff)
downloadinfinitytier-56cfe1d603104784ec40d94d8ac689391ef2e0eb.tar.gz
infinitytier-56cfe1d603104784ec40d94d8ac689391ef2e0eb.zip
Strip out old Service code, add new service message type.
Diffstat (limited to 'node/Packet.hpp')
-rw-r--r--node/Packet.hpp49
1 files changed, 36 insertions, 13 deletions
diff --git a/node/Packet.hpp b/node/Packet.hpp
index 35cc5c7d..9b400976 100644
--- a/node/Packet.hpp
+++ b/node/Packet.hpp
@@ -55,7 +55,7 @@
* 3 - 0.5.0 ... 0.6.0
* * Yet another multicast redesign
* * New crypto completely changes key agreement cipher
- * 4 - 0.6.0 ... 0.9.2
+ * 4 - 0.6.0 ... CURRENT
* * New identity format based on hashcash design
*
* This isn't going to change again for a long time unless your
@@ -722,17 +722,7 @@ public:
*/
VERB_NETWORK_CONFIG_REQUEST = 11,
- /* Network configuration refresh request:
- * <[...] array of 64-bit network IDs>
- *
- * This message can be sent by the network configuration master node
- * to request that nodes refresh their network configuration. It can
- * thus be used to "push" updates so that network config changes will
- * take effect quickly.
- *
- * It does not generate an OK or ERROR message, and is treated only as
- * a hint to refresh now.
- */
+ /* DEPRECATED -- was never actually used */
VERB_NETWORK_CONFIG_REFRESH = 12,
/* Request endpoints for multicast distribution:
@@ -812,7 +802,40 @@ public:
* <[6] multicast group MAC>
* <[4] 32-bit multicast group ADI>
*/
- VERB_MULTICAST_FRAME = 14
+ VERB_MULTICAST_FRAME = 14,
+
+ /* Message or query to a service:
+ * <[8] 64-bit service identifier>
+ * <[1] flags>
+ * [<[...] payload to service>]
+ *
+ * Flags are currently unused and must be zero.
+ *
+ * Services allow out-of-band extensions to be added to the
+ * ZeroTier peer-to-peer network without having to mix them
+ * with the Ethernet virtualization layer. Right now this
+ * includes the network configuration (netconf) service, and
+ * in the future could include things like DHTs, caching,
+ * mesh net functionality, extensions to cryptographic or
+ * authentication services, remote administration, remote
+ * debugging, etc.
+ *
+ * Service identifiers less than or equal to 0xffff (65535)
+ * are reserved for use by ZeroTier Networks, with ID 0 being
+ * the netconf service that provisions and configures virtual
+ * networks. These IDs should not be used by third party
+ * developers. IDs above 65535 can be used, and should be
+ * assigned using something like a cryptographic random number
+ * generator to minimize the potential for collisions.
+ *
+ * OK responses to this message contain the same fields as
+ * above, and their meaning is service-dependent.
+ *
+ * ERROR_UNSUPPORTED_OPERATION may optionally be returned if
+ * the queried service ID is not available on this node.
+ * Payload consists of the 64-bit service ID queried.
+ */
+ VERB_SERVICE_MESSAGE = 15
};
/**