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/segmentrouting/src/main/java/org/onosproject/segmentrouting/RoutingRulePopulator.java b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/RoutingRulePopulator.java
index dd11423..3fb38ba 100644
--- a/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/RoutingRulePopulator.java
+++ b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/RoutingRulePopulator.java
@@ -119,7 +119,7 @@
* @param hostVlanId Vlan ID of the nexthop
* @param outPort port where the next hop attaches to
*/
- public void populateRoute(DeviceId deviceId, IpPrefix prefix,
+ void populateRoute(DeviceId deviceId, IpPrefix prefix,
MacAddress hostMac, VlanId hostVlanId, PortNumber outPort) {
log.debug("Populate direct routing entry for route {} at {}:{}",
prefix, deviceId, outPort);
@@ -136,9 +136,11 @@
+ "to error for dev:{} route:{}", deviceId, prefix);
return;
}
+
+ int nextId = fwdBuilder.add().nextId();
ObjectiveContext context = new DefaultObjectiveContext(
- (objective) -> log.debug("Direct routing rule for route {} populated",
- prefix),
+ (objective) -> log.debug("Direct routing rule for route {} populated. nextId={}",
+ prefix, nextId),
(objective, error) ->
log.warn("Failed to populate direct routing rule for route {}: {}",
prefix, error));
@@ -155,7 +157,7 @@
* @param hostVlanId Vlan ID of the nexthop
* @param outPort port that next hop attaches to
*/
- public void revokeRoute(DeviceId deviceId, IpPrefix prefix,
+ void revokeRoute(DeviceId deviceId, IpPrefix prefix,
MacAddress hostMac, VlanId hostVlanId, PortNumber outPort) {
log.debug("Revoke IP table entry for route {} at {}:{}",
prefix, deviceId, outPort);