set different site name for each router
Change-Id: Ic81d8d9908923dfafce777c091fc9b288ade7400
refs: #2719
diff --git a/ndn/experiments/experiment.py b/ndn/experiments/experiment.py
index e7b713a..e70c02c 100644
--- a/ndn/experiments/experiment.py
+++ b/ndn/experiments/experiment.py
@@ -48,10 +48,10 @@
def setup(self):
for host in self.net.hosts:
# Set strategy
- host.nfd.setStrategy("/ndn/edu", self.strategy)
+ host.nfd.setStrategy("/ndn/", self.strategy)
# Start ping server
- host.cmd("ndnpingserver /ndn/edu/" + str(host) + " > ping-server &")
+ host.cmd("ndnpingserver /ndn/" + str(host) + "-site/" + str(host) + " > ping-server &")
# Create folder to store ping data
host.cmd("mkdir ping-data")
@@ -66,16 +66,14 @@
# Checking for convergence
for host in self.net.hosts:
- statusRouter = host.cmd("nfd-status -b | grep /ndn/edu/%C1.Router/cs/")
- statusPrefix = host.cmd("nfd-status -b | grep /ndn/edu/")
+ statusRouter = host.cmd("nfd-status -b | grep site/%C1.Router/cs/")
+ statusPrefix = host.cmd("nfd-status -b | grep ndn | grep site | grep -v Router")
didNodeConverge = True
for node in self.nodes.split(","):
- if ("/ndn/edu/%C1.Router/cs/" + node) not in statusRouter:
- didNodeConverge = False
- didNlsrConverge = False
- if str(host) != node and ("/ndn/edu/" + node) not in statusPrefix:
- didNodeConverge = False
- didNlsrConverge = False
+ if ( ("/ndn/" + node + "-site/%C1.Router/cs/" + node) not in statusRouter or
+ str(host) != node and ("/ndn/" + node + "-site/" + node) not in statusPrefix ):
+ didNodeConverge = False
+ didNlsrConverge = False
host.cmd("echo " + str(didNodeConverge) + " > convergence-result &")
@@ -89,7 +87,7 @@
def ping(self, source, dest, nPings):
# Use "&" to run in background and perform parallel pings
print "Scheduling ping(s) from %s to %s" % (source.name, dest.name)
- source.cmd("ndnping -t -c "+ str(nPings) + " /ndn/edu/" + dest.name + " >> ping-data/" + dest.name + ".txt &")
+ source.cmd("ndnping -t -c "+ str(nPings) + " /ndn/" + dest.name + "-site/" + dest.name + " >> ping-data/" + dest.name + ".txt &")
time.sleep(0.2)
def startPings(self):
@@ -107,8 +105,8 @@
print("Bringing %s up" % host.name)
host.nfd.start()
host.nlsr.start()
- host.nfd.setStrategy("/ndn/edu", self.strategy)
- host.cmd("ndnpingserver /ndn/edu/" + str(host) + " > ping-server &")
+ host.nfd.setStrategy("/ndn/", self.strategy)
+ host.cmd("ndnpingserver /ndn/" + str(host) + "-site/" + str(host) + " > ping-server &")
def startPctPings(self):
nNodesToPing = int(round(len(self.net.hosts)*self.pctTraffic))
@@ -143,4 +141,3 @@
@staticmethod
def register(name, experimentClass):
ExperimentManager.register(name, experimentClass)
-
diff --git a/ndn/nfd.py b/ndn/nfd.py
index 8e39a39..d779a69 100644
--- a/ndn/nfd.py
+++ b/ndn/nfd.py
@@ -59,7 +59,7 @@
node.cmd("export HOME=%s" % node.homeFolder)
def start(self):
- NdnApplication.start(self, "nfd --config %s 2>> %s &" % (self.confFile, self.logFile))
+ NdnApplication.start(self, "nfd --config %s >> %s 2>&1 &" % (self.confFile, self.logFile))
time.sleep(2)
def setStrategy(self, name, strategy):
diff --git a/ndn/nlsr.py b/ndn/nlsr.py
index 6033b38..43176b4 100644
--- a/ndn/nlsr.py
+++ b/ndn/nlsr.py
@@ -39,13 +39,9 @@
self.logDir = "%s/log" % node.homeFolder
node.cmd("mkdir %s" % self.logDir)
- # Configure basic router information in nlsr.conf based on host name
- node.cmd("sudo sed -i 's|router .*|router %s|g' %s" % (self.routerName, self.confFile))
- node.cmd("sudo sed -i 's|log-dir .*|log-dir %s|g' %s" % (self.logDir, self.confFile))
- node.cmd("sudo sed -i 's|seq-dir .*|seq-dir %s|g' %s" % (self.logDir, self.confFile))
- node.cmd("sudo sed -i 's|prefix .*netlab|prefix /ndn/edu/%s|g' %s" % (node.name, self.confFile))
-
def start(self):
+ # Removed & at the end, was giving key not found error
+ # This way NLSR is daemonized fully before continuing
NdnApplication.start(self, "nlsr -d -f {}".format(self.confFile))
@staticmethod
@@ -81,7 +77,7 @@
shutil.copyfile("{}/root.cert".format(securityDir), "{}/root.cert".format(nodeSecurityFolder))
# Create site certificate
- siteName = "/ndn/edu"
+ siteName = "ndn/{}-site".format(host.name)
siteKeyFile = "{}/site.keys".format(nodeSecurityFolder)
siteCertFile = "{}/site.cert".format(nodeSecurityFolder)
Nlsr.createKey(host, siteName, siteKeyFile)
@@ -157,7 +153,7 @@
general = "general\n"
general += "{\n"
general += " network /ndn/\n"
- general += " site /edu\n"
+ general += " site /{}-site\n".format(self.node.name)
general += " router /%C1.Router/cs/" + self.node.name + "\n"
general += " log-level " + self.logLevel + "\n"
general += " log-dir " + self.node.homeFolder + "/log\n"
@@ -187,7 +183,7 @@
neighbors += "neighbor\n"
neighbors += "{\n"
- neighbors += " name /ndn/edu/%C1.Router/cs/" + other.name + "\n"
+ neighbors += " name /ndn/" + other.name + "-site/%C1.Router/cs/" + other.name + "\n"
neighbors += " face-uri udp://" + str(ip) + "\n"
neighbors += " link-cost " + linkCost + "\n"
neighbors += "}\n"
@@ -220,7 +216,7 @@
advertising = "advertising\n"
advertising += "{\n"
- advertising += " prefix /ndn/edu/" + self.node.name + "\n"
+ advertising += " prefix /ndn/" + self.node.name + "-site/" + self.node.name + "\n"
advertising += "}\n"
return advertising