CORD-1578 CORD-1708 Handle dual single homed router and single dual homed router
In addition
- Carry all alternatives in ROUTE_UPDATED and ROUTE_REMOVED event
- More unit tests
- More debug messages
- Fix routing table out-of-sync issue in MockRoutingService
- Fix populateRoute/revokeRoute mastership issue
Change-Id: I22d537625b570b09ecd4e22e6e14bb1ee27f8bcb
diff --git a/apps/route-service/app/src/main/java/org/onosproject/routeservice/impl/DefaultResolvedRouteStore.java b/apps/route-service/app/src/main/java/org/onosproject/routeservice/impl/DefaultResolvedRouteStore.java
index 4981932..725a7a9 100644
--- a/apps/route-service/app/src/main/java/org/onosproject/routeservice/impl/DefaultResolvedRouteStore.java
+++ b/apps/route-service/app/src/main/java/org/onosproject/routeservice/impl/DefaultResolvedRouteStore.java
@@ -143,7 +143,7 @@
immutableAlternatives);
} else {
return new RouteEvent(RouteEvent.Type.ROUTE_UPDATED, route,
- oldRoute, immutableAlternatives);
+ oldRoute, immutableAlternatives, oldRoutes);
}
}
@@ -185,11 +185,11 @@
String key = createBinaryString(prefix);
ResolvedRoute route = routeTable.getValueForExactKey(key);
- alternativeRoutes.remove(prefix);
+ Set<ResolvedRoute> alternatives = alternativeRoutes.remove(prefix);
if (route != null) {
routeTable.remove(key);
- return new RouteEvent(RouteEvent.Type.ROUTE_REMOVED, route);
+ return new RouteEvent(RouteEvent.Type.ROUTE_REMOVED, route, alternatives);
}
return null;
}