[SDFAB-152] Performs seenBefore optimization iff the bidi link was seen before

Change-Id: I9f5df59ea3a956e683342cc4900231fbc875a3a7
diff --git a/impl/src/main/java/org/onosproject/segmentrouting/LinkHandler.java b/impl/src/main/java/org/onosproject/segmentrouting/LinkHandler.java
index b8800af..62ac1c0 100644
--- a/impl/src/main/java/org/onosproject/segmentrouting/LinkHandler.java
+++ b/impl/src/main/java/org/onosproject/segmentrouting/LinkHandler.java
@@ -154,9 +154,11 @@
         for (Link ulink : ulinks) {
             log.info("-- Starting optimized route-path processing for component "
                     + "unidirectional link {} --> {} UP", ulink.src(), ulink.dst());
+            // Performs the seenBefore optimization iff we have seen before both links in that case
+            // we have programmed the group (unless there were major issues in the system)
             srManager.defaultRoutingHandler
                     .populateRoutingRulesForLinkStatusChange(null, ulink, null,
-                                                             seenBefore.contains(ulink));
+                            (seenBefore.contains(ulink) && seenBefore.contains(getReverseLink(ulink))));
 
             if (srManager.mastershipService.isLocalMaster(ulink.src().deviceId())) {
                 // handle edge-ports for dual-homed hosts