summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/routingTable.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/routingTable.cpp b/src/routingTable.cpp
index f457505..d1a21e9 100644
--- a/src/routingTable.cpp
+++ b/src/routingTable.cpp
@@ -102,7 +102,10 @@ void RoutingTable::addRoute(const NetworkPrefix & pref, u_int16_t mux)
routes_[pref.getNetworkAddressType()].erase(ret.first);
routes_[pref.getNetworkAddressType()].insert(RoutingMap::value_type(pref,mux));
}
- updateRouteTreeUnlocked(pref);
+ root_[pref.getNetworkAddressType()]=RoutingTreeNode();
+ RoutingMap::iterator it = routes_[type].begin();
+ for (;it!=routes_[pref.getNetworkAddressType()].end();++it)
+ updateRouteTreeUnlocked(it->first);
} else if (type==ethernet) {
return; // TODO: add support for ethernet
} else {