|
@@ -52,7 +52,7 @@ Network records are used by the netconf master to issue network configuration in
|
|
|
|
|
|
### zt1:network:\<nwid\>:~
|
|
|
|
|
|
-Each network has a network record indexed by its 64-bit network ID in lower-case hexadecimal.
|
|
|
+Each network has a network record indexed by its 64-bit network ID in lower-case hexadecimal. Unless otherwise indicated all integer values are in hexadecimal.
|
|
|
|
|
|
- !R id :: must be \<nwid\>
|
|
|
- !M name :: network's globally unique short name, which can contain only characters valid in an e-mail address. It's the job of the code that populates this DB to ensure that this is globally unique.
|
|
@@ -63,16 +63,22 @@ Each network has a network record indexed by its 64-bit network ID in lower-case
|
|
|
- R infrastructure :: if true, network can't be deleted through API or web UI
|
|
|
- M private :: if true, network requires authentication
|
|
|
- R creationTime :: timestamp of network creation
|
|
|
-- M etherTypes :: comma-delimited list of *hexadecimal* integers indicating Ethernet types permitted on network
|
|
|
+- M etherTypes :: comma-delimited list of integers indicating Ethernet types permitted on network
|
|
|
- M enableBroadcast :: if true, ff:ff:ff:ff:ff:ff is enabled network-wide
|
|
|
- M v4AssignMode :: 'none' (or null/empty/etc.), 'zt', 'dhcp'
|
|
|
- M v4AssignPool :: network/bits from which to assign IPs
|
|
|
- M v6AssignMode :: 'none' (or null/empty/etc.), 'zt', 'v6native', 'dhcp6'
|
|
|
- M v6AssignPool :: network/bits from which to assign IPs
|
|
|
- M allowPassiveBridging :: if true, allow passive bridging
|
|
|
+- M multicastAlgorithm :: currently only 'p5' is valid, or empty/missing for default
|
|
|
+- M p5MulticastPrefixBits :: P5 multicast algorithm: prefix bits, 1-8 or 0 for default
|
|
|
+- M p5MulticastDepth :: P5 multicast algorithm: depth (TTL) in or 0 for default
|
|
|
+- M multicastRates :: packed JSON containing multicast rates (see below)
|
|
|
- M subscriptions :: comma-delimited list of subscriptions for this network
|
|
|
- M ui :: arbitrary field that can be used by the UI to store stuff
|
|
|
|
|
|
+Multicast rates are encoded as a JSON document. Each key is a multicast group in "MAC/ADI" format (e.g. *ff:ff:ff:ff:ff:ff/0*), and each value is a comma-delimited tuple of hex integer values: preload, max balance, and rate of accrual in bytes per second. An entry for *0* (or *0/0* or *00:00:00:00:00:00/0*) indicates the default setting for all unspecified multicast groups. Setting a rate limit like *ffffffff,ffffffff,ffffffff* as default will effectively turn off rate limits.
|
|
|
+
|
|
|
### zt1:network:\<nwid\>:member:\<address\>:~
|
|
|
|
|
|
For private networks, each member of the network must have a record that indicates whether it is allowed to communicate. The address is the 10-digit lower-case hexadecimal ZeroTier address.
|