static void clusterCreation_cb(sg_platf_cluster_cbarg_t cluster)
{
char* lat = bprintf("%fs", cluster->lat);
- char* bw = bprintf("%fBps", cluster->bw);
+ char* bw = bprintf("%fbps", cluster->bw * 8);
for (int i : *cluster->radicals) {
// Routers don't create a router on the other end of the private link by themselves.
NetPointNs3* host_src = sg_host_by_name(host_id)->pimpl_netpoint->extension<NetPointNs3>();
xbt_assert(host_src, "Cannot find a NS3 host of name %s", host_id);
+ // Any NS3 route is symmetrical
ns3_add_link(host_src, host_dst, bw, lat);
delete host_dst;
XBT_DEBUG("Route from '%s' to '%s' with link '%s' %s", src->cname(), dst->cname(), link->cname(),
(symmetrical ? "(symmetrical)" : "(not symmetrical)"));
- char* link_bdw = bprintf("%fBps", link->bandwidth());
+ char* link_bdw = bprintf("%fbps", link->bandwidth() * 8);
char* link_lat = bprintf("%fs", link->latency());
// XBT_DEBUG("src (%s), dst (%s), src_id = %d, dst_id = %d",src,dst, src_id, dst_id);
xbt_assert(host_src != nullptr, "Network element %s does not seem to be NS3-ready", src->cname());
xbt_assert(host_dst != nullptr, "Network element %s does not seem to be NS3-ready", dst->cname());
+ // Any NS3 route is symmetrical
ns3_add_link(host_src, host_dst, link_bdw, link_lat);
- if (symmetrical)
- ns3_add_link(host_dst, host_src, link_bdw, link_lat);
xbt_free(link_bdw);
xbt_free(link_lat);
}
/* Create the ns3 topology based on routing strategy */
-static void postparse_cb(void)
+static void postparse_cb()
{
IPV4addr.shrink_to_fit();
simgrid::kernel::routing::NetPoint::onCreation.connect([](simgrid::kernel::routing::NetPoint* pt) {
pt->extension_set<NetPointNs3>(new NetPointNs3());
-
+ XBT_VERB("SimGrid's %s is known as node %d within NS3", pt->cname(), pt->extension<NetPointNs3>()->node_num);
});
simgrid::surf::on_cluster.connect(&clusterCreation_cb);
simgrid::s4u::onPlatformCreated.connect(&postparse_cb);
XBT_DEBUG("ns3_next_occuring_event");
//get the first relevant value from the running_actions list
- if (!getRunningActionSet()->size() || now == 0.0)
+ if (not getRunningActionSet()->size() || now == 0.0)
return -1.0;
else
do {
}
}
- while (!xbt_dynar_is_empty(socket_to_destroy)){
+ while (not xbt_dynar_is_empty(socket_to_destroy)) {
xbt_dynar_pop(socket_to_destroy,&ns3Socket);
if (XBT_LOG_ISENABLED(ns3, xbt_log_priority_debug)) {
THROW_UNIMPLEMENTED;
}
- /* Test whether a flow is suspended */
+std::list<LinkImpl*> NetworkNS3Action::links()
+{
+ THROW_UNIMPLEMENTED;
+}
+
+/* Test whether a flow is suspended */
bool NetworkNS3Action::isSuspended()
{
return false;
int NetworkNS3Action::unref()
{
refcount_--;
- if (!refcount_) {
+ if (not refcount_) {
if (action_hook.is_linked())
stateSet_->erase(stateSet_->iterator_to(*this));
XBT_DEBUG ("Removing action %p", this);
ns3::Config::SetDefault ("ns3::TcpSocket::SegmentSize", ns3::UintegerValue (1024)); // 1024-byte packet for easier reading
ns3::Config::SetDefault ("ns3::TcpSocket::DelAckCount", ns3::UintegerValue (1));
- if (!strcmp(TcpProtocol,"default"))
+ if (not strcmp(TcpProtocol, "default"))
return;
- if (!strcmp(TcpProtocol,"Reno")) {
+ if (not strcmp(TcpProtocol, "Reno")) {
XBT_INFO("Switching Tcp protocol to '%s'",TcpProtocol);
ns3::Config::SetDefault ("ns3::TcpL4Protocol::SocketType", ns3::StringValue("ns3::TcpReno"));
return;
}
- if (!strcmp(TcpProtocol,"NewReno")) {
+ if (not strcmp(TcpProtocol, "NewReno")) {
XBT_INFO("Switching Tcp protocol to '%s'",TcpProtocol);
ns3::Config::SetDefault ("ns3::TcpL4Protocol::SocketType", ns3::StringValue("ns3::TcpNewReno"));
return;
}
- if(!strcmp(TcpProtocol,"Tahoe")){
+ if (not strcmp(TcpProtocol, "Tahoe")) {
XBT_INFO("Switching Tcp protocol to '%s'",TcpProtocol);
ns3::Config::SetDefault ("ns3::TcpL4Protocol::SocketType", ns3::StringValue("ns3::TcpTahoe"));
return;
{
ns3::PointToPointHelper pointToPoint;
- ns3::NetDeviceContainer netA;
ns3::Ipv4AddressHelper address;
int srcNum = src->node_num;
pointToPoint.SetDeviceAttribute ("DataRate", ns3::StringValue (bw));
pointToPoint.SetChannelAttribute ("Delay", ns3::StringValue (lat));
+ ns3::NetDeviceContainer netA;
netA.Add(pointToPoint.Install (a, b));
char * adr = bprintf("%d.%d.0.0",number_of_networks,number_of_links);