mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2025-06-06 20:43:44 +02:00
More detail and output improvements to command bus "listpeers," and a little cleanup.
This commit is contained in:
parent
499ac2699f
commit
5f8a3f4a7f
2 changed files with 24 additions and 7 deletions
|
@ -123,11 +123,12 @@ public:
|
||||||
{
|
{
|
||||||
InetAddress v4(p->ipv4ActivePath(_now));
|
InetAddress v4(p->ipv4ActivePath(_now));
|
||||||
InetAddress v6(p->ipv6ActivePath(_now));
|
InetAddress v6(p->ipv6ActivePath(_now));
|
||||||
_P("200 listpeers %s %s %s %d",
|
_P("200 listpeers %s %s %s %u %s",
|
||||||
p->address().toString().c_str(),
|
p->address().toString().c_str(),
|
||||||
((v4) ? v4.toString().c_str() : "(none)"),
|
((v4) ? v4.toString().c_str() : "-"),
|
||||||
((v6) ? v6.toString().c_str() : "(none)"),
|
((v6) ? v6.toString().c_str() : "-"),
|
||||||
(((v4)||(v6)) ? (int)p->latency() : -1));
|
(((v4)||(v6)) ? p->latency() : 0),
|
||||||
|
p->remoteVersion().c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -149,13 +150,14 @@ std::vector<std::string> NodeConfig::execute(const char *command)
|
||||||
_P("200 help help");
|
_P("200 help help");
|
||||||
_P("200 help listpeers");
|
_P("200 help listpeers");
|
||||||
_P("200 help listnetworks");
|
_P("200 help listnetworks");
|
||||||
_P("200 help join <network ID> [<network invitation code>]");
|
_P("200 help join <network ID>");
|
||||||
_P("200 help leave <network ID>");
|
_P("200 help leave <network ID>");
|
||||||
} else if (cmd[0] == "listpeers") {
|
} else if (cmd[0] == "listpeers") {
|
||||||
|
_P("200 listpeers <ztaddr> <ipv4> <ipv6> <latency> <version>");
|
||||||
_r->topology->eachPeer(_DumpPeerStatistics(r));
|
_r->topology->eachPeer(_DumpPeerStatistics(r));
|
||||||
} else if (cmd[0] == "listnetworks") {
|
} else if (cmd[0] == "listnetworks") {
|
||||||
Mutex::Lock _l(_networks_m);
|
Mutex::Lock _l(_networks_m);
|
||||||
_P("200 listnetworks <nwid> <type> <dev> <ips>");
|
_P("200 listnetworks <nwid> <status> <type> <dev> <ips>");
|
||||||
for(std::map< uint64_t,SharedPtr<Network> >::const_iterator nw(_networks.begin());nw!=_networks.end();++nw) {
|
for(std::map< uint64_t,SharedPtr<Network> >::const_iterator nw(_networks.begin());nw!=_networks.end();++nw) {
|
||||||
std::string tmp;
|
std::string tmp;
|
||||||
std::set<InetAddress> ips(nw->second->tap().ips());
|
std::set<InetAddress> ips(nw->second->tap().ips());
|
||||||
|
@ -164,7 +166,9 @@ std::vector<std::string> NodeConfig::execute(const char *command)
|
||||||
tmp.push_back(',');
|
tmp.push_back(',');
|
||||||
tmp.append(i->toString());
|
tmp.append(i->toString());
|
||||||
}
|
}
|
||||||
_P("200 listnetworks %.16llx %s %s %s",
|
// TODO: display network status, such as "permission denied to closed
|
||||||
|
// network" or "waiting".
|
||||||
|
_P("200 listnetworks %.16llx OK %s %s %s",
|
||||||
(unsigned long long)nw->first,
|
(unsigned long long)nw->first,
|
||||||
(nw->second->isOpen() ? "public" : "private"),
|
(nw->second->isOpen() ? "public" : "private"),
|
||||||
nw->second->tap().deviceName().c_str(),
|
nw->second->tap().deviceName().c_str(),
|
||||||
|
|
|
@ -347,6 +347,19 @@ public:
|
||||||
_vRevision = vrev;
|
_vRevision = vrev;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return Remote version in string form or '?' if unknown
|
||||||
|
*/
|
||||||
|
inline std::string remoteVersion() const
|
||||||
|
{
|
||||||
|
if ((_vMajor)||(_vMinor)||(_vRevision)) {
|
||||||
|
char tmp[32];
|
||||||
|
sprintf(tmp,"%u.%u.%u",_vMajor,_vMinor,_vRevision);
|
||||||
|
return std::string(tmp);
|
||||||
|
}
|
||||||
|
return std::string("?");
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get and reset dirty flag
|
* Get and reset dirty flag
|
||||||
*
|
*
|
||||||
|
|
Loading…
Add table
Reference in a new issue