|
@@ -222,43 +222,6 @@
|
|
#define ZT_PROTO_VERB_EXT_FRAME_LEN_ETHERTYPE 2
|
|
#define ZT_PROTO_VERB_EXT_FRAME_LEN_ETHERTYPE 2
|
|
#define ZT_PROTO_VERB_EXT_FRAME_IDX_PAYLOAD (ZT_PROTO_VERB_EXT_FRAME_IDX_ETHERTYPE + ZT_PROTO_VERB_EXT_FRAME_LEN_ETHERTYPE)
|
|
#define ZT_PROTO_VERB_EXT_FRAME_IDX_PAYLOAD (ZT_PROTO_VERB_EXT_FRAME_IDX_ETHERTYPE + ZT_PROTO_VERB_EXT_FRAME_LEN_ETHERTYPE)
|
|
|
|
|
|
-// P5_MULTICAST_FRAME is deprecated
|
|
|
|
-#define ZT_PROTO_VERB_P5_MULTICAST_FRAME_IDX_PROPAGATION_DEPTH (ZT_PACKET_IDX_PAYLOAD)
|
|
|
|
-#define ZT_PROTO_VERB_P5_MULTICAST_FRAME_LEN_PROPAGATION_DEPTH 2
|
|
|
|
-#define ZT_PROTO_VERB_P5_MULTICAST_FRAME_IDX_PROPAGATION_FIFO (ZT_PROTO_VERB_P5_MULTICAST_FRAME_IDX_PROPAGATION_DEPTH + ZT_PROTO_VERB_P5_MULTICAST_FRAME_LEN_PROPAGATION_DEPTH)
|
|
|
|
-#define ZT_PROTO_VERB_P5_MULTICAST_FRAME_LEN_PROPAGATION_FIFO 320
|
|
|
|
-#define ZT_PROTO_VERB_P5_MULTICAST_FRAME_IDX_PROPAGATION_BLOOM (ZT_PROTO_VERB_P5_MULTICAST_FRAME_IDX_PROPAGATION_FIFO + ZT_PROTO_VERB_P5_MULTICAST_FRAME_LEN_PROPAGATION_FIFO)
|
|
|
|
-#define ZT_PROTO_VERB_P5_MULTICAST_FRAME_LEN_PROPAGATION_BLOOM 1024
|
|
|
|
-#define ZT_PROTO_VERB_P5_MULTICAST_FRAME_IDX_FLAGS (ZT_PROTO_VERB_P5_MULTICAST_FRAME_IDX_PROPAGATION_BLOOM + ZT_PROTO_VERB_P5_MULTICAST_FRAME_LEN_PROPAGATION_BLOOM)
|
|
|
|
-#define ZT_PROTO_VERB_P5_MULTICAST_FRAME_LEN_FLAGS 1
|
|
|
|
-#define ZT_PROTO_VERB_P5_MULTICAST_FRAME_IDX__START_OF_SIGNED_PORTION (ZT_PROTO_VERB_P5_MULTICAST_FRAME_IDX_FLAGS)
|
|
|
|
-#define ZT_PROTO_VERB_P5_MULTICAST_FRAME_IDX_NETWORK_ID (ZT_PROTO_VERB_P5_MULTICAST_FRAME_IDX_FLAGS + ZT_PROTO_VERB_P5_MULTICAST_FRAME_LEN_FLAGS)
|
|
|
|
-#define ZT_PROTO_VERB_P5_MULTICAST_FRAME_LEN_NETWORK_ID 8
|
|
|
|
-#define ZT_PROTO_VERB_P5_MULTICAST_FRAME_IDX_PROPAGATION_BLOOM_NONCE (ZT_PROTO_VERB_P5_MULTICAST_FRAME_IDX_NETWORK_ID + ZT_PROTO_VERB_P5_MULTICAST_FRAME_LEN_NETWORK_ID)
|
|
|
|
-#define ZT_PROTO_VERB_P5_MULTICAST_FRAME_LEN_PROPAGATION_BLOOM_NONCE 2
|
|
|
|
-#define ZT_PROTO_VERB_P5_MULTICAST_FRAME_IDX_PROPAGATION_PREFIX_BITS (ZT_PROTO_VERB_P5_MULTICAST_FRAME_IDX_PROPAGATION_BLOOM_NONCE + ZT_PROTO_VERB_P5_MULTICAST_FRAME_LEN_PROPAGATION_BLOOM_NONCE)
|
|
|
|
-#define ZT_PROTO_VERB_P5_MULTICAST_FRAME_LEN_PROPAGATION_PREFIX_BITS 1
|
|
|
|
-#define ZT_PROTO_VERB_P5_MULTICAST_FRAME_IDX_PROPAGATION_PREFIX (ZT_PROTO_VERB_P5_MULTICAST_FRAME_IDX_PROPAGATION_PREFIX_BITS + ZT_PROTO_VERB_P5_MULTICAST_FRAME_LEN_PROPAGATION_PREFIX_BITS)
|
|
|
|
-#define ZT_PROTO_VERB_P5_MULTICAST_FRAME_LEN_PROPAGATION_PREFIX 1
|
|
|
|
-#define ZT_PROTO_VERB_P5_MULTICAST_FRAME_IDX_ORIGIN (ZT_PROTO_VERB_P5_MULTICAST_FRAME_IDX_PROPAGATION_PREFIX + ZT_PROTO_VERB_P5_MULTICAST_FRAME_LEN_PROPAGATION_PREFIX)
|
|
|
|
-#define ZT_PROTO_VERB_P5_MULTICAST_FRAME_LEN_ORIGIN 5
|
|
|
|
-#define ZT_PROTO_VERB_P5_MULTICAST_FRAME_IDX_ORIGIN_MCID (ZT_PROTO_VERB_P5_MULTICAST_FRAME_IDX_ORIGIN + ZT_PROTO_VERB_P5_MULTICAST_FRAME_LEN_ORIGIN)
|
|
|
|
-#define ZT_PROTO_VERB_P5_MULTICAST_FRAME_LEN_ORIGIN_MCID 3
|
|
|
|
-#define ZT_PROTO_VERB_P5_MULTICAST_FRAME_IDX_GUID (ZT_PROTO_VERB_P5_MULTICAST_FRAME_IDX_ORIGIN)
|
|
|
|
-#define ZT_PROTO_VERB_P5_MULTICAST_FRAME_LEN_GUID 8
|
|
|
|
-#define ZT_PROTO_VERB_P5_MULTICAST_FRAME_IDX_SOURCE_MAC (ZT_PROTO_VERB_P5_MULTICAST_FRAME_IDX_ORIGIN_MCID + ZT_PROTO_VERB_P5_MULTICAST_FRAME_LEN_ORIGIN_MCID)
|
|
|
|
-#define ZT_PROTO_VERB_P5_MULTICAST_FRAME_LEN_SOURCE_MAC 6
|
|
|
|
-#define ZT_PROTO_VERB_P5_MULTICAST_FRAME_IDX_DEST_MAC (ZT_PROTO_VERB_P5_MULTICAST_FRAME_IDX_SOURCE_MAC + ZT_PROTO_VERB_P5_MULTICAST_FRAME_LEN_SOURCE_MAC)
|
|
|
|
-#define ZT_PROTO_VERB_P5_MULTICAST_FRAME_LEN_DEST_MAC 6
|
|
|
|
-#define ZT_PROTO_VERB_P5_MULTICAST_FRAME_IDX_DEST_ADI (ZT_PROTO_VERB_P5_MULTICAST_FRAME_IDX_DEST_MAC + ZT_PROTO_VERB_P5_MULTICAST_FRAME_LEN_DEST_MAC)
|
|
|
|
-#define ZT_PROTO_VERB_P5_MULTICAST_FRAME_LEN_DEST_ADI 4
|
|
|
|
-#define ZT_PROTO_VERB_P5_MULTICAST_FRAME_IDX_ETHERTYPE (ZT_PROTO_VERB_P5_MULTICAST_FRAME_IDX_DEST_ADI + ZT_PROTO_VERB_P5_MULTICAST_FRAME_LEN_DEST_ADI)
|
|
|
|
-#define ZT_PROTO_VERB_P5_MULTICAST_FRAME_LEN_ETHERTYPE 2
|
|
|
|
-#define ZT_PROTO_VERB_P5_MULTICAST_FRAME_IDX_FRAME_LEN (ZT_PROTO_VERB_P5_MULTICAST_FRAME_IDX_ETHERTYPE + ZT_PROTO_VERB_P5_MULTICAST_FRAME_LEN_ETHERTYPE)
|
|
|
|
-#define ZT_PROTO_VERB_P5_MULTICAST_FRAME_LEN_FRAME_LEN 2
|
|
|
|
-#define ZT_PROTO_VERB_P5_MULTICAST_FRAME_IDX_FRAME (ZT_PROTO_VERB_P5_MULTICAST_FRAME_IDX_FRAME_LEN + ZT_PROTO_VERB_P5_MULTICAST_FRAME_LEN_FRAME_LEN)
|
|
|
|
-#define ZT_PROTO_VERB_P5_MULTICAST_FRAME_FLAGS_HAS_MEMBERSHIP_CERTIFICATE 0x01
|
|
|
|
-
|
|
|
|
#define ZT_PROTO_VERB_NETWORK_CONFIG_REQUEST_IDX_NETWORK_ID (ZT_PACKET_IDX_PAYLOAD)
|
|
#define ZT_PROTO_VERB_NETWORK_CONFIG_REQUEST_IDX_NETWORK_ID (ZT_PACKET_IDX_PAYLOAD)
|
|
#define ZT_PROTO_VERB_NETWORK_CONFIG_REQUEST_IDX_DICT_LEN (ZT_PROTO_VERB_NETWORK_CONFIG_REQUEST_IDX_NETWORK_ID + 8)
|
|
#define ZT_PROTO_VERB_NETWORK_CONFIG_REQUEST_IDX_DICT_LEN (ZT_PROTO_VERB_NETWORK_CONFIG_REQUEST_IDX_NETWORK_ID + 8)
|
|
#define ZT_PROTO_VERB_NETWORK_CONFIG_REQUEST_IDX_DICT (ZT_PROTO_VERB_NETWORK_CONFIG_REQUEST_IDX_DICT_LEN + 2)
|
|
#define ZT_PROTO_VERB_NETWORK_CONFIG_REQUEST_IDX_DICT (ZT_PROTO_VERB_NETWORK_CONFIG_REQUEST_IDX_DICT_LEN + 2)
|
|
@@ -603,7 +566,7 @@ public:
|
|
*/
|
|
*/
|
|
VERB_EXT_FRAME = 7,
|
|
VERB_EXT_FRAME = 7,
|
|
|
|
|
|
- /* DEPRECATED -- legacy support only, will go away completely soon */
|
|
|
|
|
|
+ /* DEPRECATED */
|
|
VERB_P5_MULTICAST_FRAME = 8,
|
|
VERB_P5_MULTICAST_FRAME = 8,
|
|
|
|
|
|
/* Announce interest in multicast group(s):
|
|
/* Announce interest in multicast group(s):
|
|
@@ -754,7 +717,45 @@ public:
|
|
* <[6] multicast group MAC>
|
|
* <[6] multicast group MAC>
|
|
* <[4] 32-bit multicast group ADI>
|
|
* <[4] 32-bit multicast group ADI>
|
|
*/
|
|
*/
|
|
- VERB_MULTICAST_FRAME = 14
|
|
|
|
|
|
+ VERB_MULTICAST_FRAME = 14,
|
|
|
|
+
|
|
|
|
+ /* Message sent to notify of a change in underlying address:
|
|
|
|
+ * <[1] flags>
|
|
|
|
+ * <[1] address type>
|
|
|
|
+ * <[2] 16-bit length of address>
|
|
|
|
+ * <[...] new address>
|
|
|
|
+ *
|
|
|
|
+ * Flags:
|
|
|
|
+ * 0x01 - Address was confirmed (if unset no confirmation was done)
|
|
|
|
+ *
|
|
|
|
+ * Address types:
|
|
|
|
+ * 0x01 - IPv4/UDP
|
|
|
|
+ * 0x02 - IPv6/UDP
|
|
|
|
+ * 0x03 - IPv4/TCP
|
|
|
|
+ * 0x04 - IPv6/TCP
|
|
|
|
+ * 0x05 - Ethernet MAC (raw framing address)
|
|
|
|
+ * 0x06 - Bluetooth MAC
|
|
|
|
+ * 0x07 - HTTP URL
|
|
|
|
+ * (other values are reserved)
|
|
|
|
+ *
|
|
|
|
+ * Address formats:
|
|
|
|
+ * IPv4: 32-bit address, 16-bit port in network byte order
|
|
|
|
+ * IPv6: 128-bit address, 16-bit port in network byte order
|
|
|
|
+ * Ethernet: 48-bit / 6-byte MAC
|
|
|
|
+ * Bluetooth: 48-bit / 6-byte Bluetooth MAC
|
|
|
|
+ * HTTP URL: ASCII string containing endpoint URL
|
|
|
|
+ *
|
|
|
|
+ * This should be sent by peers when a new remote address is detected by
|
|
|
|
+ * way of a new packet from a previously unknown underlying physical
|
|
|
|
+ * address. It may also be sent with flag 0x01 set once a new address is
|
|
|
|
+ * confirmed via a bi-directional transaction, indicating a higher
|
|
|
|
+ * confidence level.
|
|
|
|
+ *
|
|
|
|
+ * Peers can use this message to trigger reconnection semantics when
|
|
|
|
+ * mobility, DHCP reassignment, VM migration, or other factors lead to
|
|
|
|
+ * a change in physical address.
|
|
|
|
+ */
|
|
|
|
+ VERB_PHYSICAL_ADDRESS_CHANGED = 15
|
|
};
|
|
};
|
|
|
|
|
|
/**
|
|
/**
|