|
|
|
|
@ -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; |
|
|
|
|
|