diff --git a/bin/minindn b/bin/minindn
index f43ae53..07c223f 100755
--- a/bin/minindn
+++ b/bin/minindn
@@ -111,7 +111,7 @@
         self.experimentName = None
         self.nFaces = 3
         self.templateFile = "minindn.conf"
-        self.hr = False
+        self.routingType = "link-state"
         self.isCliEnabled = True
         self.nlsrSecurity = False
         self.nPings = 300
@@ -126,16 +126,13 @@
         self.tunnelType = None
         self.faceType = "udp"
 
-def createResultsDir(resultDir, faces, hr):
+def createResultsDir(resultDir, faces, rType):
     if faces == 0:
         faces = "all"
 
-    if hr:
-        routingType = "/hr/"
-    else:
-        routingType = "/ls/"
+    routingChoice = "/{}/".format(rType)
 
-    resultDir = "%s/%s/faces-%s" % (str(resultDir), routingType, str(faces))
+    resultDir = "{}/{}/faces-{}".format(resultDir, routingChoice, faces)
     resultDir = os.path.abspath(resultDir)
 
     if not os.path.isdir(resultDir):
@@ -163,9 +160,9 @@
     parser.add_argument("--faces", type=int, default=3,
                         help="Specify number of faces 0-60")
 
-    # store_true stores default value of False
-    parser.add_argument("--hr", action="store_true",
-                        help="--hr is used to turn on hyperbolic routing")
+    parser.add_argument("--routing", dest="routingType", default='link-state', choices=['link-state', 'hr', 'dry'],
+                        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("--list-experiments", action=PrintExperimentNames,
                         help="Lists the names of all available experiments")
@@ -176,6 +173,7 @@
     parser.add_argument("--nPings", type=int, default=300,
                         help="Number of pings to perform between each node in the experiment")
 
+    # store_true stores default value of False
     parser.add_argument("--nlsr-security", action="store_true", dest="nlsrSecurity",
                         help="Enables NLSR security")
 
@@ -216,7 +214,7 @@
     options.ctime = args.ctime
     options.experimentName = args.experiment
     options.nFaces = args.faces
-    options.hr = args.hr
+    options.routingType = args.routingType
     options.isCliEnabled = args.isCliEnabled
     options.nlsrSecurity = args.nlsrSecurity
     options.nPings = args.nPings
@@ -342,7 +340,7 @@
                 ssh(login, "sudo cp /tmp/nfd.conf %s" % src)
 
     if options.resultDir is not None:
-        options.resultDir = createResultsDir(options.resultDir, options.nFaces, options.hr)
+        options.resultDir = createResultsDir(options.resultDir, options.nFaces, options.routingType)
 
     topo = NdnTopo(options.templateFile, options.workDir)
 
@@ -401,7 +399,10 @@
         if options.nFaces is not None:
             host.nlsrParameters["max-faces-per-prefix"] = options.nFaces
 
-        if options.hr is True:
+        if options.routingType == 'dry':
+            host.nlsrParameters["hyperbolic-state"] = "dry-run"
+
+        elif options.routingType == 'hr':
             host.nlsrParameters["hyperbolic-state"] = "on"
 
         # Generate NLSR configuration file
diff --git a/docs/GETTING-STARTED.md b/docs/GETTING-STARTED.md
index 205d2eb..84e204e 100644
--- a/docs/GETTING-STARTED.md
+++ b/docs/GETTING-STARTED.md
@@ -59,11 +59,16 @@
 
 #### Routing options
 
-To run NLSR with hyperbolic routing enabled, use the `--hr` parameter:
+To run NLSR with hyperbolic routing enabled, use the `--routing` parameter:
 
-    sudo minindn --hr
+    sudo minindn --routing hr
 
-Topology files given under ndn_utils/topologies/minindn* have hyperbolic coordinates configured and can be used with this option.
+Topology files given under ndn_utils/topologies/minindn* have hyperbolic coordinates configured
+and can be used with this option.
+
+To run NLSR in dry-run mode, use the `--routing` parameter:
+
+    sudo minindn --routing dry
 
 To configure the max number of faces added by NLSR to reach each name prefix, use the `--faces`
 parameter:
