Allow dynamic routing in the simulation dynamic_routing
authorRichard Whitehouse <github@richardwhiuk.com>
Sun, 8 May 2011 16:28:06 +0000 (17:28 +0100)
committerRichard Whitehouse <github@richardwhiuk.com>
Sun, 8 May 2011 16:28:06 +0000 (17:28 +0100)
src/simulation/simulation.cc

index 3e49af2e8e719aacea797607b9509d8142d995a7..aab6df07059c5e148724e40dadcb0094c1baeddf 100644 (file)
@@ -135,6 +135,7 @@ try {
        std::string dataFile;
        std::string stateFile;
        std::string linkLayer = "moose";
+       std::string routing = "static";
 
        CommandLine cmd;                        // Allow CommandLine args
        cmd.AddValue("link", "Link Layer? (moose|ethernet) [moose]", linkLayer);
@@ -144,6 +145,7 @@ try {
        cmd.AddValue("network", "Network Topology File", networkFile);
        cmd.AddValue("data", "Network Data File", dataFile);
        cmd.AddValue("state", "Bridge State File", stateFile);
+       cmd.AddValue("routing", "Dynamic Routing? (static|dynamic) [static]", routing);
        cmd.Parse (argc, argv);
 
        std::ifstream networkStream(networkFile.c_str(), std::ifstream::in);
@@ -170,6 +172,16 @@ try {
                throw new std::runtime_error(ss.str());
        }
 
+       if(routing == "dynamic"){
+               link.EnableDynamicRouting();
+       } else if(routing == "static"){
+               link.DisableDynamicRouting();
+       } else {
+               std::ostringstream ss;
+               ss << "Unsupported Routing Type [" << routing << "]";
+               throw new std::runtime_error(routing);
+       }
+
        NS_LOG_INFO ("Create Network");
 
        // Setup Network