+ std::free(links);
+}
+
+static void dump_routers()
+{
+ std::vector<simgrid::kernel::routing::NetPoint*> netcardList;
+ simgrid::s4u::Engine::getInstance()->getNetpointList(&netcardList);
+ std::sort(netcardList.begin(), netcardList.end(),
+ [](simgrid::kernel::routing::NetPoint* a, simgrid::kernel::routing::NetPoint* b) {
+ return a->getName() < b->getName();
+ });
+
+ for (auto const& srcCard : netcardList)
+ if (srcCard->isRouter())
+ std::printf(" <router id=\"%s\"/>\n", srcCard->getCname());
+}
+
+static void dump_routes()
+{
+ unsigned int totalHosts = sg_host_count();
+ sg_host_t* hosts = sg_host_list();
+ std::sort(hosts, hosts + totalHosts,
+ [](sg_host_t a, sg_host_t b) { return strcmp(sg_host_get_name(a), sg_host_get_name(b)) < 0; });
+ std::vector<simgrid::kernel::routing::NetPoint*> netcardList;
+ simgrid::s4u::Engine::getInstance()->getNetpointList(&netcardList);
+ std::sort(netcardList.begin(), netcardList.end(),
+ [](simgrid::kernel::routing::NetPoint* a, simgrid::kernel::routing::NetPoint* b) {
+ return a->getName() < b->getName();
+ });
+