- /* Create table if necessary */
- if (!routingTable_)
- routingTable_ = xbt_new0(sg_platf_route_cbarg_t, table_size * table_size);
-
- /* Add the loopback if needed */
- if (surf_network_model->loopback_ && hierarchy_ == RoutingMode::base) {
- for (i = 0; i < table_size; i++) {
- e_route = TO_ROUTE_FULL(i, i);
- if (!e_route) {
- e_route = xbt_new0(s_sg_platf_route_cbarg_t, 1);
- e_route->gw_src = nullptr;
- e_route->gw_dst = nullptr;
- e_route->link_list = new std::vector<Link*>();
- e_route->link_list->push_back(surf_network_model->loopback_);
- TO_ROUTE_FULL(i, i) = e_route;
- }
+void FullZone::check_routing_table()
+{
+ unsigned int table_size = get_table_size();
+ /* assure routing_table is table_size X table_size */
+ if (routing_table_.size() != table_size) {
+ routing_table_.resize(table_size);
+ for (auto& j : routing_table_) {
+ j.resize(table_size);