summaryrefslogtreecommitdiff
path: root/netconf-service
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2013-10-17 16:49:31 -0400
committerAdam Ierymenko <adam.ierymenko@gmail.com>2013-10-17 16:49:31 -0400
commite6eb65be0041bbf38be38219765bda0f92fae978 (patch)
treef5b64e18ec49f4b9996ac8f4a9d7ec059c87e154 /netconf-service
parentdd7758e33ef78a91fd0743a05c0741b71281460b (diff)
downloadinfinitytier-e6eb65be0041bbf38be38219765bda0f92fae978.tar.gz
infinitytier-e6eb65be0041bbf38be38219765bda0f92fae978.zip
Netconf support for ARP and NDP caching TTLs.
Diffstat (limited to 'netconf-service')
-rw-r--r--netconf-service/netconf.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/netconf-service/netconf.cpp b/netconf-service/netconf.cpp
index 71cf38b9..c061c98d 100644
--- a/netconf-service/netconf.cpp
+++ b/netconf-service/netconf.cpp
@@ -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;