diff --git a/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/McastHandler.java b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/McastHandler.java index a131e4a0b6..80affc19d5 100644 --- a/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/McastHandler.java +++ b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/McastHandler.java @@ -537,7 +537,7 @@ public class McastHandler { .forEach(entry -> { ConnectPoint source = getSource(entry.getKey().mcastIp()); removeGroupFromDevice(entry.getKey().deviceId(), entry.getKey().mcastIp(), - assignedVlan(deviceId.equals(source.deviceId()) ? source : null)); + assignedVlan(source != null && deviceId.equals(source.deviceId()) ? source : null)); mcastNextObjStore.remove(entry.getKey()); }); log.debug("{} is removed from mcastNextObjStore", deviceId); diff --git a/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/SegmentRoutingManager.java b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/SegmentRoutingManager.java index a0fc5323aa..62ad7634e0 100644 --- a/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/SegmentRoutingManager.java +++ b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/SegmentRoutingManager.java @@ -426,6 +426,9 @@ public class SegmentRoutingManager implements SegmentRoutingService { cfgService.registerConfigFactory(xConnectConfigFactory); cfgService.registerConfigFactory(mcastConfigFactory); cfgService.registerConfigFactory(pwaasConfigFactory); + + cfgListener.configureNetwork(); + hostService.addListener(hostListener); packetService.addProcessor(processor, PacketProcessor.director(2)); linkService.addListener(linkListener); @@ -433,8 +436,6 @@ public class SegmentRoutingManager implements SegmentRoutingService { multicastRouteService.addListener(mcastListener); routeService.addListener(routeListener); - cfgListener.configureNetwork(); - log.info("Started"); }