Provide option to disable NLSR
refs: #4309
Change-Id: I78774aa535f3e1c8dea51b05e070b0e8815ff938
diff --git a/bin/minindn b/bin/minindn
index 07c223f..b2c8db6 100755
--- a/bin/minindn
+++ b/bin/minindn
@@ -112,6 +112,7 @@
self.nFaces = 3
self.templateFile = "minindn.conf"
self.routingType = "link-state"
+ self.isNlsrEnabled = True
self.isCliEnabled = True
self.nlsrSecurity = False
self.nPings = 300
@@ -164,6 +165,9 @@
help="""choices for routing are 'link-state' for link state, 'hr' for hyperbolic, and 'dry'
to test hyperbolic routing and compare with link state. Default is link-state.""")
+ parser.add_argument("--no-nlsr", action="store_false", dest="isNlsrEnabled",
+ help="Run mini-ndn without NLSR routing")
+
parser.add_argument("--list-experiments", action=PrintExperimentNames,
help="Lists the names of all available experiments")
@@ -215,6 +219,7 @@
options.experimentName = args.experiment
options.nFaces = args.faces
options.routingType = args.routingType
+ options.isNlsrEnabled = args.isNlsrEnabled
options.isCliEnabled = args.isCliEnabled
options.nlsrSecurity = args.nlsrSecurity
options.nPings = args.nPings
@@ -387,17 +392,19 @@
node2.setIP(ipStr(ipParse(ndnNetBase) + 2) + '/30', intf=link.intf2)
ndnNetBase = ipStr(ipParse(ndnNetBase) + 4)
- # NLSR Security
- if options.nlsrSecurity is True:
- Nlsr.createKeysAndCertificates(net, options.workDir)
+ if options.isNlsrEnabled is True:
- # NLSR initialization
- for host in net.hosts:
- conf = next(x for x in hosts_conf if x.name == host.name)
- host.nlsrParameters = conf.nlsrParameters
+ # NLSR Security
+ if options.nlsrSecurity is True:
+ Nlsr.createKeysAndCertificates(net, options.workDir)
- if options.nFaces is not None:
- host.nlsrParameters["max-faces-per-prefix"] = options.nFaces
+ # NLSR initialization
+ for host in net.hosts:
+ conf = next(x for x in hosts_conf if x.name == host.name)
+ host.nlsrParameters = conf.nlsrParameters
+
+ if options.nFaces is not None:
+ host.nlsrParameters["max-faces-per-prefix"] = options.nFaces
if options.routingType == 'dry':
host.nlsrParameters["hyperbolic-state"] = "dry-run"
@@ -405,13 +412,13 @@
elif options.routingType == 'hr':
host.nlsrParameters["hyperbolic-state"] = "on"
- # Generate NLSR configuration file
- configGenerator = NlsrConfigGenerator(host, options.nlsrSecurity, options.faceType)
- configGenerator.createConfigFile()
+ # Generate NLSR configuration file
+ configGenerator = NlsrConfigGenerator(host, options.nlsrSecurity, options.faceType)
+ configGenerator.createConfigFile()
- # Start NLSR
- host.nlsr = Nlsr(host, configGenerator.neighborIPs, options.faceType)
- host.nlsr.start()
+ # Start NLSR
+ host.nlsr = Nlsr(host, configGenerator.neighborIPs, options.faceType)
+ host.nlsr.start()
for host in net.hosts:
if 'app' in host.params: