X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/09a679c1f6bbe99bfd05becefc1d2e2fc008a302..fa159d28bf7eb7b7876fbd85ea11a8d74cf489fc:/src/kernel/routing/FatTreeZone.cpp diff --git a/src/kernel/routing/FatTreeZone.cpp b/src/kernel/routing/FatTreeZone.cpp index 92301b4389..3da6df43aa 100644 --- a/src/kernel/routing/FatTreeZone.cpp +++ b/src/kernel/routing/FatTreeZone.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2014-2017. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2014-2018. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -7,9 +7,11 @@ #include #include -#include "src/kernel/routing/FatTreeZone.hpp" -#include "src/kernel/routing/NetPoint.hpp" +#include "simgrid/kernel/routing/FatTreeZone.hpp" +#include "simgrid/kernel/routing/NetPoint.hpp" #include "src/surf/network_interface.hpp" +#include "src/surf/xml/platf_private.hpp" + #include #include @@ -56,7 +58,7 @@ bool FatTreeZone::isInSubTree(FatTreeNode* root, FatTreeNode* node) return true; } -void FatTreeZone::getLocalRoute(NetPoint* src, NetPoint* dst, sg_platf_route_cbarg_t into, double* latency) +void FatTreeZone::getLocalRoute(NetPoint* src, NetPoint* dst, RouteCreationArgs* into, double* latency) { if (dst->isRouter() || src->isRouter()) @@ -78,7 +80,7 @@ void FatTreeZone::getLocalRoute(NetPoint* src, NetPoint* dst, sg_platf_route_cba /* In case destination is the source, and there is a loopback, let's use it instead of going up to a switch */ if (source->id == destination->id && this->hasLoopback_) { - into->link_list->push_back(source->loopback); + into->link_list.push_back(source->loopback); if (latency) *latency += source->loopback->latency(); return; @@ -95,13 +97,13 @@ void FatTreeZone::getLocalRoute(NetPoint* src, NetPoint* dst, sg_platf_route_cba int k = this->upperLevelNodesNumber_[currentNode->level]; d = d % k; - into->link_list->push_back(currentNode->parents[d]->upLink); + into->link_list.push_back(currentNode->parents[d]->upLink); if (latency) *latency += currentNode->parents[d]->upLink->latency(); if (this->hasLimiter_) - into->link_list->push_back(currentNode->limiterLink); + into->link_list.push_back(currentNode->limiterLink); currentNode = currentNode->parents[d]->upNode; } @@ -112,12 +114,12 @@ void FatTreeZone::getLocalRoute(NetPoint* src, NetPoint* dst, sg_platf_route_cba while (currentNode != destination) { for (unsigned int i = 0; i < currentNode->children.size(); i++) { if (i % this->lowerLevelNodesNumber_[currentNode->level - 1] == destination->label[currentNode->level - 1]) { - into->link_list->push_back(currentNode->children[i]->downLink); + into->link_list.push_back(currentNode->children[i]->downLink); if (latency) *latency += currentNode->children[i]->downLink->latency(); currentNode = currentNode->children[i]->downNode; if (this->hasLimiter_) - into->link_list->push_back(currentNode->limiterLink); + into->link_list.push_back(currentNode->limiterLink); XBT_DEBUG("%d(%u,%u) is accessible through %d(%u,%u)", destination->id, destination->level, destination->position, currentNode->id, currentNode->level, currentNode->position); } @@ -472,7 +474,7 @@ FatTreeLink::FatTreeLink(ClusterCreationArgs* cluster, FatTreeNode* downNode, Fa "link_from_" + std::to_string(downNode->id) + "_" + std::to_string(upNode->id) + "_" + std::to_string(uniqueId); sg_platf_new_link(&linkTemplate); - if (cluster->sharing_policy == SURF_LINK_FULLDUPLEX) { + if (cluster->sharing_policy == SURF_LINK_SPLITDUPLEX) { std::string tmpID = std::string(linkTemplate.id) + "_UP"; this->upLink = surf::LinkImpl::byName(tmpID); // check link? tmpID = std::string(linkTemplate.id) + "_DOWN";