mirror of
https://github.com/ZeroTier/ZeroTierOne
synced 2025-08-14 10:37:33 -07:00
Netconf support for ARP and NDP caching TTLs.
This commit is contained in:
parent
dd7758e33e
commit
e6eb65be00
3 changed files with 39 additions and 1 deletions
|
@ -245,11 +245,13 @@ int main(int argc,char **argv)
|
|||
unsigned int multicastDepth = 0;
|
||||
bool emulateArp = false;
|
||||
bool emulateNdp = false;
|
||||
unsigned int arpCacheTtl = 0;
|
||||
unsigned int ndpCacheTtl = 0;
|
||||
std::string name;
|
||||
std::string desc;
|
||||
{
|
||||
Query q = dbCon->query();
|
||||
q << "SELECT name,`desc`,isOpen,multicastPrefixBits,multicastDepth,emulateArp,emulateNdp FROM Network WHERE id = " << nwid;
|
||||
q << "SELECT name,`desc`,isOpen,multicastPrefixBits,multicastDepth,emulateArp,emulateNdp,arpCacheTtl,ndpCacheTtl FROM Network WHERE id = " << nwid;
|
||||
StoreQueryResult rs = q.store();
|
||||
if (rs.num_rows() > 0) {
|
||||
name = rs[0]["name"].c_str();
|
||||
|
@ -257,6 +259,8 @@ int main(int argc,char **argv)
|
|||
isOpen = ((int)rs[0]["isOpen"] > 0);
|
||||
emulateArp = ((int)rs[0]["emulateArp"] > 0);
|
||||
emulateNdp = ((int)rs[0]["emulateNdp"] > 0);
|
||||
arpCacheTtl = (unsigned int)rs[0]["arpCacheTtl"];
|
||||
ndpCacheTtl = (unsigned int)rs[0]["ndpCacheTtl"];
|
||||
multicastPrefixBits = (unsigned int)rs[0]["multicastPrefixBits"];
|
||||
multicastDepth = (unsigned int)rs[0]["multicastDepth"];
|
||||
} else {
|
||||
|
@ -427,6 +431,10 @@ int main(int argc,char **argv)
|
|||
netconf["ts"] = buf;
|
||||
netconf["eARP"] = (emulateArp ? "1" : "0");
|
||||
netconf["eNDP"] = (emulateNdp ? "1" : "0");
|
||||
sprintf(buf,"%x",arpCacheTtl);
|
||||
netconf["cARP"] = buf;
|
||||
sprintf(buf,"%x",ndpCacheTtl);
|
||||
netconf["cNDP"] = buf;
|
||||
if (multicastPrefixBits) {
|
||||
sprintf(buf,"%x",multicastPrefixBits);
|
||||
netconf["mpb"] = buf;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue