Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'klement/simgrid-klement' into master
[simgrid.git] / src / surf / sg_platf.cpp
index dffd56e..e1f4d6b 100644 (file)
@@ -15,6 +15,7 @@
 #include "simgrid/kernel/routing/NetZoneImpl.hpp"
 #include "simgrid/kernel/routing/TorusZone.hpp"
 #include "simgrid/kernel/routing/VivaldiZone.hpp"
+#include "simgrid/kernel/routing/WifiZone.hpp"
 #include "simgrid/s4u/Engine.hpp"
 #include "src/include/simgrid/sg_config.hpp"
 #include "src/include/surf/surf.hpp"
@@ -158,16 +159,16 @@ void sg_platf_new_cluster(simgrid::kernel::routing::ClusterCreationArgs* cluster
   zone.id = cluster->id;
   switch (cluster->topology) {
     case simgrid::kernel::routing::ClusterTopology::TORUS:
-      zone.routing = A_surfxml_AS_routing_ClusterTorus;
+      zone.routing = "ClusterTorus";
       break;
     case simgrid::kernel::routing::ClusterTopology::DRAGONFLY:
-      zone.routing = A_surfxml_AS_routing_ClusterDragonfly;
+      zone.routing = "ClusterDragonfly";
       break;
     case simgrid::kernel::routing::ClusterTopology::FAT_TREE:
-      zone.routing = A_surfxml_AS_routing_ClusterFatTree;
+      zone.routing = "ClusterFatTree";
       break;
     default:
-      zone.routing = A_surfxml_AS_routing_Cluster;
+      zone.routing = "Cluster";
       break;
   }
   sg_platf_new_Zone_begin(&zone);
@@ -271,7 +272,7 @@ void sg_platf_new_cluster(simgrid::kernel::routing::ClusterCreationArgs* cluster
   XBT_DEBUG("<router id=\"%s\"/>", cluster->router_id.c_str());
   if (cluster->router_id.empty())
     cluster->router_id = std::string(cluster->prefix) + cluster->id + "_router" + cluster->suffix;
-  current_as->router_ = sg_platf_new_router(cluster->router_id, NULL);
+  current_as->router_ = sg_platf_new_router(cluster->router_id, nullptr);
 
   //Make the backbone
   if ((cluster->bb_bw > 0) || (cluster->bb_lat > 0)) {
@@ -586,40 +587,30 @@ simgrid::kernel::routing::NetZoneImpl* sg_platf_new_Zone_begin(const simgrid::ke
   simgrid::kernel::routing::NetZoneImpl* new_zone = nullptr;
   simgrid::kernel::resource::NetworkModel* netmodel =
       current_routing == nullptr ? surf_network_model : current_routing->network_model_;
-  switch (zone->routing) {
-    case A_surfxml_AS_routing_Cluster:
+  if (strcasecmp(zone->routing.c_str(), "Cluster") == 0) {
       new_zone = new simgrid::kernel::routing::ClusterZone(current_routing, zone->id, netmodel);
-      break;
-    case A_surfxml_AS_routing_ClusterDragonfly:
+  } else if (strcasecmp(zone->routing.c_str(),"ClusterDragonfly") == 0) {
       new_zone = new simgrid::kernel::routing::DragonflyZone(current_routing, zone->id, netmodel);
-      break;
-    case A_surfxml_AS_routing_ClusterTorus:
+  } else if (strcasecmp(zone->routing.c_str(),"ClusterTorus") == 0) {
       new_zone = new simgrid::kernel::routing::TorusZone(current_routing, zone->id, netmodel);
-      break;
-    case A_surfxml_AS_routing_ClusterFatTree:
+  } else if (strcasecmp(zone->routing.c_str(),"ClusterFatTree") == 0) {
       new_zone = new simgrid::kernel::routing::FatTreeZone(current_routing, zone->id, netmodel);
-      break;
-    case A_surfxml_AS_routing_Dijkstra:
+  } else if (strcasecmp(zone->routing.c_str(),"Dijkstra") == 0) {
       new_zone = new simgrid::kernel::routing::DijkstraZone(current_routing, zone->id, netmodel, false);
-      break;
-    case A_surfxml_AS_routing_DijkstraCache:
+  } else if (strcasecmp(zone->routing.c_str(),"DijkstraCache") == 0) {
       new_zone = new simgrid::kernel::routing::DijkstraZone(current_routing, zone->id, netmodel, true);
-      break;
-    case A_surfxml_AS_routing_Floyd:
+  } else if (strcasecmp(zone->routing.c_str(),"Floyd") == 0) {
       new_zone = new simgrid::kernel::routing::FloydZone(current_routing, zone->id, netmodel);
-      break;
-    case A_surfxml_AS_routing_Full:
+  } else if (strcasecmp(zone->routing.c_str(),"Full") == 0) {
       new_zone = new simgrid::kernel::routing::FullZone(current_routing, zone->id, netmodel);
-      break;
-    case A_surfxml_AS_routing_None:
+  } else if (strcasecmp(zone->routing.c_str(),"None") == 0) {
       new_zone = new simgrid::kernel::routing::EmptyZone(current_routing, zone->id, netmodel);
-      break;
-    case A_surfxml_AS_routing_Vivaldi:
+  } else if (strcasecmp(zone->routing.c_str(),"Vivaldi") == 0) {
       new_zone = new simgrid::kernel::routing::VivaldiZone(current_routing, zone->id, netmodel);
-      break;
-    default:
-      xbt_die("Not a valid model!");
-      break;
+  } else if (strcasecmp(zone->routing.c_str(), "Wifi") == 0) {
+    new_zone = new simgrid::kernel::routing::WifiZone(current_routing, zone->id, netmodel);
+  } else {
+    xbt_die("Not a valid model!");
   }
 
   if (current_routing == nullptr) { /* it is the first one */