CordMcast clears remote routes on startup to prevent being out of sync.

It also reads existing routes on startup.

Change-Id: I13b8ffae2b57d1e82181a8a745bda185d56f368d
diff --git a/cli/src/main/java/org/onosproject/cli/net/McastDeleteCommand.java b/cli/src/main/java/org/onosproject/cli/net/McastDeleteCommand.java
index 53c4888..72781cc 100644
--- a/cli/src/main/java/org/onosproject/cli/net/McastDeleteCommand.java
+++ b/cli/src/main/java/org/onosproject/cli/net/McastDeleteCommand.java
@@ -36,7 +36,7 @@
     String sAddr = null;
 
     @Argument(index = 1, name = "gAddr",
-            description = "IP Address of the multicast group",
+            description = "IP Address of the multicast group. '*' can be used to denote all groups",
             required = true, multiValued = false)
     String gAddr = null;
 
@@ -50,6 +50,12 @@
     protected void execute() {
         MulticastRouteService mcastRouteManager = get(MulticastRouteService.class);
 
+        if (sAddr.equals("*") && gAddr.equals("*")) {
+            // Clear all routes
+            mcastRouteManager.getRoutes().forEach(mcastRouteManager::remove);
+            return;
+        }
+
         McastRoute mRoute = new McastRoute(IpAddress.valueOf(sAddr),
                 IpAddress.valueOf(gAddr), McastRoute.Type.STATIC);