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)));
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));
}