Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
test failure fix for #45.
[simgrid.git] / src / surf / network_ns3.cpp
index 1751d3e..21698f7 100644 (file)
@@ -80,13 +80,21 @@ static void zoneCreation_cb(simgrid::s4u::NetZone const& zone) {
     simgrid::kernel::routing::WifiZone* wifizone = dynamic_cast<simgrid::kernel::routing::WifiZone*> (zone.get_impl());
     if (wifizone == nullptr) return;
 
+#if NS3_MINOR_VERSION < 32
     wifi.SetStandard(ns3::WIFI_PHY_STANDARD_80211n_5GHZ);
+#else
+    wifi.SetStandard(ns3::WIFI_STANDARD_80211n_5GHZ);
+#endif
 
     std::string ssid = wifizone->get_name();
     const char* mcs = wifizone->get_property("mcs");
     const char* nss = wifizone->get_property("nss");
     int mcs_value = mcs ? atoi(mcs) : 3;
     int nss_value = nss ? atoi(nss) : 1;
+#if NS3_MINOR_VERSION < 30
+    if(nss_value != 1+(mcs_value/8))
+      xbt_die("On NS3 < 3.30, NSS value has to satisfy NSS == 1+(MCS/8) constraint. Bailing out");
+#endif
     wifi.SetRemoteStationManager("ns3::ConstantRateWifiManager",
                                  "ControlMode", ns3::StringValue("HtMcs0"),
                                  "DataMode", ns3::StringValue("HtMcs" + std::to_string(mcs_value)));
@@ -142,7 +150,7 @@ static void zoneCreation_cb(simgrid::s4u::NetZone const& zone) {
     address.SetBase(addr.c_str(), "255.255.0.0");
     XBT_DEBUG("\tInterface stack '%s'", addr.c_str());
     ns3::Ipv4InterfaceContainer addresses = address.Assign(netDevices);
-    for (int i = 0; i < hosts_netpoints.size(); i++) {
+    for (unsigned int i = 0; i < hosts_netpoints.size(); i++) {
         hosts_netpoints[i]->ipv4_address_ = transformIpv4Address(addresses.GetAddress(i));
     }