#include <simgrid/simdag.h>
+#include "src/kernel/routing/NetCard.hpp"
#include "src/surf/network_interface.hpp"
std::qsort((void *) hosts, totalHosts, sizeof(sg_host_t), name_compare_hosts);
for (i = 0; i < totalHosts; i++) {
- std::printf(" <host id=\"%s\" speed=\"%.0f\"", sg_host_get_name(hosts[i]), sg_host_speed(hosts[i]));
+ std::printf(" <host id=\"%s\" speed=\"%.0f\"", hosts[i]->cname(), sg_host_speed(hosts[i]));
props = sg_host_get_properties(hosts[i]);
- if (hosts[i]->coresCount()>1) {
- std::printf(" core=\"%d\"", hosts[i]->coresCount());
+ if (hosts[i]->coreCount()>1) {
+ std::printf(" core=\"%d\"", hosts[i]->coreCount());
}
if (props && !xbt_dict_is_empty(props)) {
std::printf(">\n");
}
// Routers
- xbt_lib_foreach(as_router_lib, cursor_src, key, value1) {
- value1 = (sg_netcard_t)xbt_lib_get_or_null(as_router_lib, key, ROUTING_ASR_LEVEL);
+ xbt_dict_foreach (netcards_dict, cursor_src, key, value1) {
if(value1->isRouter()) {
std::printf(" <router id=\"%s\"/>\n",key);
}
}
sg_host_t host1, host2;
- xbt_dict_foreach(host_list, cursor_src, src, host1){ // Routes from host
- value1 = sg_host_by_name(src)->pimpl_netcard;
- xbt_dict_foreach(host_list, cursor_dst, dst, host2){ //to host
+ for (unsigned int it_src = 0; it_src < totalHosts; it_src++) { // Routes from host
+ host1 = hosts[it_src];
+ value1 = host1->pimpl_netcard;
+ for (unsigned int it_dst = 0; it_dst < totalHosts; it_dst++) { // Routes to host
+ host2 = hosts[it_dst];
std::vector<Link*> *route = new std::vector<Link*>();
- value2 = sg_host_by_name(dst)->pimpl_netcard;
- routing_platf->getRouteAndLatency(value1, value2, route,nullptr);
+ value2 = host2->pimpl_netcard;
+ simgrid::kernel::routing::NetZoneImpl::getGlobalRoute(value1, value2, route, nullptr);
if (! route->empty()){
- std::printf(" <route src=\"%s\" dst=\"%s\">\n ", src, dst);
+ std::printf(" <route src=\"%s\" dst=\"%s\">\n ", host1->cname(), host2->cname());
for (auto link: *route)
std::printf("<link_ctn id=\"%s\"/>",link->getName());
std::printf("\n </route>\n");
}
delete route;
}
- xbt_lib_foreach(as_router_lib, cursor_dst, dst, value2){ //to router
- value2 = (sg_netcard_t)xbt_lib_get_or_null(as_router_lib,dst,ROUTING_ASR_LEVEL);
+ xbt_dict_foreach (netcards_dict, cursor_dst, dst, value2) { // to router
if(value2->isRouter()){
- std::printf(" <route src=\"%s\" dst=\"%s\">\n ", src, dst);
+ std::printf(" <route src=\"%s\" dst=\"%s\">\n ", host1->cname(), dst);
std::vector<Link*> *route = new std::vector<Link*>();
- routing_platf->getRouteAndLatency((sg_netcard_t)value1,(sg_netcard_t)value2,route,nullptr);
+ simgrid::kernel::routing::NetZoneImpl::getGlobalRoute(value1, value2, route, nullptr);
for (auto link : *route)
std::printf("<link_ctn id=\"%s\"/>",link->getName());
delete route;
}
}
- xbt_lib_foreach(as_router_lib, cursor_src, src, value1){ // Routes from router
- value1 = (sg_netcard_t)xbt_lib_get_or_null(as_router_lib,src,ROUTING_ASR_LEVEL);
+ xbt_dict_foreach (netcards_dict, cursor_src, src, value1) { // Routes from router
if (value1->isRouter()){
- xbt_lib_foreach(as_router_lib, cursor_dst, dst, value2){ //to router
- value2 = (sg_netcard_t)xbt_lib_get_or_null(as_router_lib,dst,ROUTING_ASR_LEVEL);
+ xbt_dict_foreach (netcards_dict, cursor_dst, dst, value2) { // to router
if(value2->isRouter()){
std::printf(" <route src=\"%s\" dst=\"%s\">\n ", src, dst);
std::vector<Link*> *route = new std::vector<Link*>();
- routing_platf->getRouteAndLatency((sg_netcard_t)value1,(sg_netcard_t)value2,route,nullptr);
+ simgrid::kernel::routing::NetZoneImpl::getGlobalRoute(value1, value2, route, nullptr);
for(auto link :*route)
std::printf("<link_ctn id=\"%s\"/>",link->getName());
delete route;
std::printf("\n </route>\n");
}
}
- xbt_dict_foreach(host_list, cursor_dst, dst, value2){ //to host
- std::printf(" <route src=\"%s\" dst=\"%s\">\n ",src, dst);
+ for (unsigned int it_dst = 0; it_dst < totalHosts; it_dst++) { // Routes to host
+ host2 = hosts[it_dst];
+ std::printf(" <route src=\"%s\" dst=\"%s\">\n ", src, host2->cname());
std::vector<Link*> *route = new std::vector<Link*>();
- value2 = sg_host_by_name(dst)->pimpl_netcard;
- routing_platf->getRouteAndLatency((sg_netcard_t)value1,(sg_netcard_t)value2,route, nullptr);
+ value2 = host2->pimpl_netcard;
+ simgrid::kernel::routing::NetZoneImpl::getGlobalRoute(value1, value2, route, nullptr);
for(auto link : *route)
std::printf("<link_ctn id=\"%s\"/>",link->getName());
delete route;