#include "simgrid/s4u/host.hpp"
#include "src/kernel/routing/AsImpl.hpp"
#include "src/surf/cpu_interface.hpp"
-#include "src/surf/network_interface.hpp" // Link FIXME: move to proper header
+#include "src/surf/network_interface.hpp"
-XBT_LOG_NEW_DEFAULT_SUBCATEGORY(AsImpl,surf, "Implementation of S4U autonomous systems");
+XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(surf_route);
namespace simgrid {
namespace kernel {
/* OUT */ std::vector<surf::Link*>* links, double* latency)
{
// If never set a bypass route return nullptr without any further computations
- XBT_DEBUG("generic_get_bypassroute from %s to %s", src->name().c_str(), dst->name().c_str());
if (bypassRoutes_.empty())
return false;
if (latency)
*latency += link->latency();
}
- XBT_DEBUG("Found a bypass route with %zu links", bypassedRoute->links.size());
+ XBT_DEBUG("Found a bypass route from '%s' to '%s' with %zu links", src->cname(), dst->cname(),
+ bypassedRoute->links.size());
return true;
}
return false;
/* (4) If we have the bypass, use it. If not, caller will do the Right Thing. */
if (bypassedRoute) {
+ XBT_DEBUG("Found a bypass route from '%s' to '%s' with %zu links. We may have to complete it with recursive "
+ "calls to getRoute",
+ src->cname(), dst->cname(), bypassedRoute->links.size());
if (src != key.first)
getGlobalRoute(src, const_cast<NetCard*>(bypassedRoute->gw_src), links, latency);
for (surf::Link* link : bypassedRoute->links) {
getGlobalRoute(const_cast<NetCard*>(bypassedRoute->gw_dst), dst, links, latency);
return true;
}
+ XBT_DEBUG("No bypass route from '%s' to '%s'.", src->cname(), dst->cname());
return false;
}
s_sg_platf_route_cbarg_t route;
memset(&route,0,sizeof(route));
- XBT_DEBUG("Solve route/latency \"%s\" to \"%s\"", src->name().c_str(), dst->name().c_str());
+ XBT_DEBUG("Resolve route from '%s' to '%s'", src->cname(), dst->cname());
/* Find how src and dst are interconnected */
AsImpl *common_ancestor, *src_ancestor, *dst_ancestor;
#include <simgrid/s4u/host.hpp>
-#include "surf_routing.hpp"
+#include "src/surf/surf_routing.hpp"
#include "simgrid/sg_config.h"
-#include "storage_interface.hpp"
+#include "src/surf/storage_interface.hpp"
#include "src/kernel/routing/AsImpl.hpp"
+#include "src/surf/network_interface.hpp"
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_route, surf, "Routing part of surf");
*/
void RoutingPlatf::getRouteAndLatency(NetCard *src, NetCard *dst, std::vector<Link*> * route, double *latency)
{
- XBT_DEBUG("getRouteAndLatency from %s to %s", src->name().c_str(), dst->name().c_str());
-
AsImpl::getGlobalRoute(src, dst, route, latency);
+ if (XBT_LOG_ISENABLED(surf_route, xbt_log_priority_debug)) {
+ XBT_DEBUG("Route from '%s' to '%s' (latency: %f):", src->cname(), dst->cname(),
+ (latency == nullptr ? -1 : *latency));
+ for (auto link : *route)
+ XBT_DEBUG("Link %s", link->getName());
+ }
}
}}}
-/* Copyright (c) 2013-2015. The SimGrid Team.
- * All rights reserved. */
+/* Copyright (c) 2013-2016. 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. */
#include <xbt/signal.hpp>
#include "surf_interface.hpp"
-#include "src/surf/xml/platf_private.hpp" // FIXME: including this here is pure madness. KILKILKIL XML.
#include "src/kernel/routing/AsImpl.hpp"
#include <float.h>
virtual ~NetCard() = default;
virtual unsigned int id()=0; // Our rank in the vertices_ array of our containing AS.
virtual std::string name() = 0;
- virtual AsImpl *containingAS()=0; // This is the AS in which I am
+ virtual const char* cname() = 0;
+ virtual AsImpl* containingAS() = 0; // This is the AS in which I am
virtual bool isAS()=0;
virtual bool isHost()=0;
virtual bool isRouter()=0;
unsigned int id() override {return id_;}
std::string name() override { return name_; }
+ const char* cname() override { return name_.c_str(); }
AsImpl *containingAS() override {return containingAS_;}
bool isAS() override {return componentType_ == Type::As;}
XBT_LOG_CONNECT(surf_trace);
XBT_LOG_CONNECT(surf_vm);
XBT_LOG_CONNECT(surf_host);
-
- /* routing */
- XBT_LOG_CONNECT(AsImpl);
#endif /* simgrid_EXPORTS */
}