Adding Device Listiner to BgpRouter so that filtering rules are sent to the
driver only after the device is available.

Change-Id: I377402b87cee6c02c087efbcc4f0cff4f19e1ca3
diff --git a/drivers/src/main/java/org/onosproject/driver/pipeline/OVSCorsaPipeline.java b/drivers/src/main/java/org/onosproject/driver/pipeline/OVSCorsaPipeline.java
index d56e7fa..d92e9ca 100644
--- a/drivers/src/main/java/org/onosproject/driver/pipeline/OVSCorsaPipeline.java
+++ b/drivers/src/main/java/org/onosproject/driver/pipeline/OVSCorsaPipeline.java
@@ -270,7 +270,7 @@
             Criteria.IPProtocolCriterion ipProto = (Criteria.IPProtocolCriterion) selector
                     .getCriterion(Criterion.Type.IP_PROTO);
             if (ipSrc != null) {
-                log.warn("Driver currently does not currently handle matching Src IP");
+                log.warn("Driver does not currently handle matching Src IP");
                 fail(fwd, ObjectiveError.UNSUPPORTED);
                 return Collections.emptySet();
             }
@@ -797,7 +797,8 @@
                 }
                 pass(obj);
                 pendingGroups.invalidate(key);
-                log.info("Heard back from group service for group {}", obj.id());
+                log.info("Heard back from group service for group {}. "
+                        + "Applying pending forwarding objectives", obj.id());
                 flowObjectiveStore.putNextGroup(obj.id(), new CorsaGroup(key));
             });
         }