commit | 4a768c01f8c1b61577d486a57557c92afd70618b | [log] [tgz] |
---|---|---|
author | Andreas Pantelopoulos <andreas@opennetworking.org> | Thu Jan 11 07:53:48 2018 -0800 |
committer | Charles Chan <charles@opennetworking.org> | Thu Jan 11 19:08:20 2018 +0000 |
tree | a8d7e436ab28db722918ddb318889f26612ea2e7 | |
parent | e720ddfdd429a9400f9dca1e1eba70476ac014d4 [diff] |
Deploy existing pseudowires when segment routing is activated Change-Id: Id09deb8841a65ad6ee7840830e047123196fa26f
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 62ad763..6d5d0b2 100644 --- a/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/SegmentRoutingManager.java +++ b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/SegmentRoutingManager.java
@@ -436,6 +436,8 @@ multicastRouteService.addListener(mcastListener); routeService.addListener(routeListener); + l2TunnelHandler.init(); + log.info("Started"); }
diff --git a/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/pwaas/L2TunnelHandler.java b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/pwaas/L2TunnelHandler.java index bbcabbb..012628b 100644 --- a/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/pwaas/L2TunnelHandler.java +++ b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/pwaas/L2TunnelHandler.java
@@ -143,6 +143,30 @@ } /** + * Deploys any pre-existing pseudowires in the configuration. + * Used by manager only in initialization. + */ + public void init() { + + PwaasConfig config = srManager.cfgService.getConfig(srManager.appId(), PwaasConfig.class); + if (config == null) { + return; + } + + log.info("Deploying existing pseudowires"); + + // gather pseudowires + Set<DefaultL2TunnelDescription> pwToAdd = config + .getPwIds() + .stream() + .map(config::getPwDescription) + .collect(Collectors.toSet()); + + // deploy pseudowires + deploy(pwToAdd); + } + + /** * Returns all L2 Policies. * * @return List of policies