- Adds error handling for Segment routing CLI
- Removes SegmentRoutingManager reference from TunnelHandler and PolicyHandler
Change-Id: Iab6acdc489d41a63ebf6b37b65d0e82448a8b25a
diff --git a/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/cli/TunnelAddCommand.java b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/cli/TunnelAddCommand.java
index 51dee41..bb0ae54 100644
--- a/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/cli/TunnelAddCommand.java
+++ b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/cli/TunnelAddCommand.java
@@ -22,6 +22,7 @@
import org.onosproject.segmentrouting.DefaultTunnel;
import org.onosproject.segmentrouting.SegmentRoutingService;
import org.onosproject.segmentrouting.Tunnel;
+import org.onosproject.segmentrouting.TunnelHandler;
import java.util.ArrayList;
import java.util.List;
@@ -58,6 +59,22 @@
}
Tunnel tunnel = new DefaultTunnel(tunnelId, labelIds);
- srService.createTunnel(tunnel);
+ TunnelHandler.Result result = srService.createTunnel(tunnel);
+ switch (result) {
+ case ID_EXISTS:
+ print("ERROR: the same tunnel ID exists");
+ break;
+ case TUNNEL_EXISTS:
+ print("ERROR: the same tunnel exists");
+ break;
+ case INTERNAL_ERROR:
+ print("ERROR: internal tunnel creation error");
+ break;
+ case WRONG_PATH:
+ print("ERROR: the tunnel path is wrong");
+ break;
+ default:
+ break;
+ }
}
}
\ No newline at end of file