From 56cfe1d603104784ec40d94d8ac689391ef2e0eb Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Mon, 5 Jan 2015 11:47:22 -0800 Subject: Strip out old Service code, add new service message type. --- node/Packet.hpp | 49 ++++++++++++++++++++++++++++++++++++------------- 1 file changed, 36 insertions(+), 13 deletions(-) (limited to 'node/Packet.hpp') 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 }; /** -- cgit v1.2.3