-/* Copyright (c) 2007-2020. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2007-2021. The SimGrid Team. All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
* Crude globals *
*****************/
-extern std::map<std::string, SgFlow*> flow_from_sock;
-extern std::map<std::string, ns3::ApplicationContainer> sink_from_sock;
+extern std::map<std::string, SgFlow*, std::less<>> flow_from_sock;
+extern std::map<std::string, ns3::ApplicationContainer, std::less<>> sink_from_sock;
static ns3::InternetStackHelper stack;
/* wifi globals */
static ns3::WifiHelper wifi;
-static ns3::YansWifiPhyHelper wifiPhy = ns3::YansWifiPhyHelper::Default();
+#if NS3_MINOR_VERSION < 33
+static ns3::YansWifiPhyHelper wifiPhy = ns3::YansWifiPhyHelper::Default();
+#else
+static ns3::YansWifiPhyHelper wifiPhy;
+#endif
static ns3::YansWifiChannelHelper wifiChannel = ns3::YansWifiChannelHelper::Default();
static ns3::WifiMacHelper wifiMac;
static ns3::MobilityHelper mobility;
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)));