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);