+void sg_platf_new_tag_cluster(simgrid::kernel::routing::ClusterCreationArgs* cluster)
+{
+ switch (cluster->topology) {
+ case simgrid::kernel::routing::ClusterTopology::TORUS:
+ case simgrid::kernel::routing::ClusterTopology::DRAGONFLY:
+ case simgrid::kernel::routing::ClusterTopology::FAT_TREE:
+ sg_platf_new_cluster_hierarchical(cluster);
+ break;
+ default:
+ sg_platf_new_cluster_flat(cluster);
+ break;
+ }
+}
+/*************************************************************************************************/
+/** @brief Set the links for internal node inside a Cluster(Star) */
+static void sg_platf_cluster_set_hostlink(simgrid::kernel::routing::StarZone* zone,
+ simgrid::kernel::routing::NetPoint* netpoint,
+ const simgrid::s4u::Link* link_up, const simgrid::s4u::Link* link_down,
+ const simgrid::s4u::Link* backbone)
+{
+ XBT_DEBUG("Push Host_link for host '%s' to position %lu", netpoint->get_cname(), netpoint->id());
+ simgrid::s4u::LinkInRoute linkUp{link_up};
+ simgrid::s4u::LinkInRoute linkDown{link_down};
+ if (backbone) {
+ simgrid::s4u::LinkInRoute linkBB{backbone};
+ zone->add_route(netpoint, nullptr, nullptr, nullptr, {linkUp, linkBB}, false);
+ zone->add_route(nullptr, netpoint, nullptr, nullptr, {linkBB, linkDown}, false);
+ } else {
+ zone->add_route(netpoint, nullptr, nullptr, nullptr, {linkUp}, false);
+ zone->add_route(nullptr, netpoint, nullptr, nullptr, {linkDown}, false);