Pipe member capabilites to network json

This commit is contained in:
travisladuke 2023-09-15 13:32:34 -07:00
parent f187a6c34f
commit c36d8213f8
3 changed files with 22 additions and 0 deletions

View file

@ -1255,6 +1255,9 @@ typedef struct
uint32_t tags[ZT_MAX_NETWORK_TAGS][2];
unsigned int tagsCount;
uint32_t capabilities[ZT_MAX_NETWORK_CAPABILITIES];
unsigned int capabilitiesCount;
} ZT_VirtualNetworkConfig;

View file

@ -1502,6 +1502,15 @@ void Network::_externalConfig(ZT_VirtualNetworkConfig *ec) const
}
}
for (unsigned int i = 0; i<ZT_MAX_NETWORK_CAPABILITIES; i++) {
if (_config.capabilities[i].id()) {
ec->capabilities[i] = _config.capabilities[i].id();
} else {
ec->capabilitiesCount = i;
break;
}
}
ec->assignedAddressCount = 0;
for(unsigned int i=0;i<ZT_MAX_ZT_ASSIGNED_ADDRESSES;++i) {
if (i < _config.staticIpCount) {

View file

@ -554,6 +554,16 @@ static void _networkToJson(nlohmann::json &nj,NetworkState &ns)
}
nj["tags"] = tags;
nlohmann::json caps = nlohmann::json::array();
for(unsigned int i=0;i<ns.config().capabilitiesCount;++i) {
if (ns.config().capabilities[i]) {
caps[i] = ns.config().capabilities[i];
} else {
break;
}
}
nj["capabilities"] = caps;
nlohmann::json aa = nlohmann::json::array();
for(unsigned int i=0;i<ns.config().assignedAddressCount;++i) {