#include <boost/algorithm/string.hpp>
-#include <simgrid/s4u/host.hpp>
+#include "simgrid/s4u/engine.hpp"
+#include "simgrid/s4u/host.hpp"
#include "src/kernel/routing/NetCard.hpp"
#include "src/kernel/routing/VivaldiZone.hpp"
new simgrid::kernel::routing::vivaldi::Coords(netcard, coord);
- char* link_up = bprintf("link_%s_UP", netcard->cname());
- char* link_down = bprintf("link_%s_DOWN", netcard->cname());
- Link* linkUp = surf_network_model->createLink(link_up, bw_out, latency, SURF_LINK_SHARED);
- Link* linkDown = surf_network_model->createLink(link_down, bw_in, latency, SURF_LINK_SHARED);
+ std::string link_up = "link_" + netcard->name() + "_UP";
+ std::string link_down = "link_" + netcard->name() + "_DOWN";
+ Link* linkUp = surf_network_model->createLink(link_up.c_str(), bw_out, latency, SURF_LINK_SHARED);
+ Link* linkDown = surf_network_model->createLink(link_down.c_str(), bw_in, latency, SURF_LINK_SHARED);
privateLinks_.insert({netcard->id(), {linkUp, linkDown}});
-
- free(link_up);
- free(link_down);
}
void VivaldiZone::getLocalRoute(NetCard* src, NetCard* dst, sg_platf_route_cbarg_t route, double* lat)
XBT_DEBUG("vivaldi getLocalRoute from '%s'[%d] '%s'[%d]", src->cname(), src->id(), dst->cname(), dst->id());
if (src->isNetZone()) {
- char* srcName = bprintf("router_%s", src->cname());
- char* dstName = bprintf("router_%s", dst->cname());
- route->gw_src = (sg_netcard_t)xbt_lib_get_or_null(as_router_lib, srcName, ROUTING_ASR_LEVEL);
- route->gw_dst = (sg_netcard_t)xbt_lib_get_or_null(as_router_lib, dstName, ROUTING_ASR_LEVEL);
- xbt_free(srcName);
- xbt_free(dstName);
+ std::string srcName = "router_" + src->name();
+ std::string dstName = "router_" + dst->name();
+ route->gw_src = simgrid::s4u::Engine::instance()->netcardByNameOrNull(srcName.c_str());
+ route->gw_dst = simgrid::s4u::Engine::instance()->netcardByNameOrNull(dstName.c_str());
}
/* Retrieve the private links */