Committed by
Gerrit Code Review
[ONOS-4725]duplicate symbolic path names are allowed in creation of pce path
Change-Id: I81c7282f7c5c47ad6d088b3df1deadf1d44d2772
Showing
1 changed file
with
13 additions
and
0 deletions
| ... | @@ -17,6 +17,7 @@ package org.onosproject.pce.cli; | ... | @@ -17,6 +17,7 @@ package org.onosproject.pce.cli; |
| 17 | 17 | ||
| 18 | import static org.slf4j.LoggerFactory.getLogger; | 18 | import static org.slf4j.LoggerFactory.getLogger; |
| 19 | 19 | ||
| 20 | +import java.util.Collection; | ||
| 20 | import java.util.List; | 21 | import java.util.List; |
| 21 | import java.util.LinkedList; | 22 | import java.util.LinkedList; |
| 22 | 23 | ||
| ... | @@ -26,6 +27,8 @@ import org.apache.karaf.shell.commands.Option; | ... | @@ -26,6 +27,8 @@ import org.apache.karaf.shell.commands.Option; |
| 26 | 27 | ||
| 27 | import org.onlab.util.DataRateUnit; | 28 | import org.onlab.util.DataRateUnit; |
| 28 | import org.onosproject.cli.AbstractShellCommand; | 29 | import org.onosproject.cli.AbstractShellCommand; |
| 30 | +import org.onosproject.incubator.net.tunnel.Tunnel; | ||
| 31 | +import org.onosproject.incubator.net.tunnel.TunnelService; | ||
| 29 | import org.onosproject.net.DeviceId; | 32 | import org.onosproject.net.DeviceId; |
| 30 | import org.onosproject.net.intent.constraint.BandwidthConstraint; | 33 | import org.onosproject.net.intent.constraint.BandwidthConstraint; |
| 31 | import org.onosproject.net.intent.Constraint; | 34 | import org.onosproject.net.intent.Constraint; |
| ... | @@ -71,6 +74,7 @@ public class PceSetupPathCommand extends AbstractShellCommand { | ... | @@ -71,6 +74,7 @@ public class PceSetupPathCommand extends AbstractShellCommand { |
| 71 | log.info("executing pce-setup-path"); | 74 | log.info("executing pce-setup-path"); |
| 72 | 75 | ||
| 73 | PceService service = get(PceService.class); | 76 | PceService service = get(PceService.class); |
| 77 | + TunnelService tunnelService = get(TunnelService.class); | ||
| 74 | 78 | ||
| 75 | DeviceId srcDevice = DeviceId.deviceId(src); | 79 | DeviceId srcDevice = DeviceId.deviceId(src); |
| 76 | DeviceId dstDevice = DeviceId.deviceId(dst); | 80 | DeviceId dstDevice = DeviceId.deviceId(dst); |
| ... | @@ -85,6 +89,15 @@ public class PceSetupPathCommand extends AbstractShellCommand { | ... | @@ -85,6 +89,15 @@ public class PceSetupPathCommand extends AbstractShellCommand { |
| 85 | } | 89 | } |
| 86 | LspType lspType = LspType.values()[type]; | 90 | LspType lspType = LspType.values()[type]; |
| 87 | 91 | ||
| 92 | + //Validating tunnel name, duplicated tunnel names not allowed | ||
| 93 | + Collection<Tunnel> existingTunnels = tunnelService.queryTunnel(Tunnel.Type.MPLS); | ||
| 94 | + for (Tunnel t : existingTunnels) { | ||
| 95 | + if (t.tunnelName().toString().equals(name)) { | ||
| 96 | + error("Path creation failed, Tunnel name already exists"); | ||
| 97 | + return; | ||
| 98 | + } | ||
| 99 | + } | ||
| 100 | + | ||
| 88 | // Add bandwidth | 101 | // Add bandwidth |
| 89 | // bandwidth default data rate unit is in BPS | 102 | // bandwidth default data rate unit is in BPS |
| 90 | if (bandwidth != 0.0) { | 103 | if (bandwidth != 0.0) { | ... | ... |
-
Please register or login to post a comment