diff options
Diffstat (limited to 'framework/src/onos/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/cli')
7 files changed, 0 insertions, 436 deletions
diff --git a/framework/src/onos/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/cli/PolicyAddCommand.java b/framework/src/onos/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/cli/PolicyAddCommand.java deleted file mode 100644 index b00633cd..00000000 --- a/framework/src/onos/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/cli/PolicyAddCommand.java +++ /dev/null @@ -1,132 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.segmentrouting.cli; - -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.onosproject.cli.AbstractShellCommand; -import org.onosproject.segmentrouting.Policy; -import org.onosproject.segmentrouting.PolicyHandler; -import org.onosproject.segmentrouting.SegmentRoutingService; -import org.onosproject.segmentrouting.TunnelPolicy; - -/** - * Command to add a new policy. - */ -@Command(scope = "onos", name = "srpolicy-add", - description = "Create a new policy") -public class PolicyAddCommand extends AbstractShellCommand { - - // TODO: Need to support skipping some parameters - - @Argument(index = 0, name = "ID", - description = "policy ID", - required = true, multiValued = false) - String policyId; - - @Argument(index = 1, name = "priority", - description = "priority", - required = true, multiValued = false) - int priority; - - @Argument(index = 2, name = "src_IP", - description = "src IP", - required = false, multiValued = false) - String srcIp; - - @Argument(index = 3, name = "src_port", - description = "src port", - required = false, multiValued = false) - short srcPort; - - @Argument(index = 4, name = "dst_IP", - description = "dst IP", - required = false, multiValued = false) - String dstIp; - - @Argument(index = 5, name = "dst_port", - description = "dst port", - required = false, multiValued = false) - short dstPort; - - @Argument(index = 6, name = "proto", - description = "IP protocol", - required = false, multiValued = false) - String proto; - - @Argument(index = 7, name = "policy_type", - description = "policy type", - required = true, multiValued = false) - String policyType; - - @Argument(index = 8, name = "tunnel_ID", - description = "tunnel ID", - required = false, multiValued = false) - String tunnelId; - - @Override - protected void execute() { - - SegmentRoutingService srService = - AbstractShellCommand.get(SegmentRoutingService.class); - - TunnelPolicy.Builder tpb = TunnelPolicy.builder().setPolicyId(policyId); - tpb.setPriority(priority); - tpb.setType(Policy.Type.valueOf(policyType)); - - if (srcIp != null) { - tpb.setSrcIp(srcIp); - } - if (dstIp != null) { - tpb.setDstIp(dstIp); - } - if (srcPort != 0) { - tpb.setSrcPort(srcPort); - } - if (dstPort != 0) { - tpb.setDstPort(dstPort); - } - if (!proto.equals("ip")) { - tpb.setIpProto(proto); - } - if (Policy.Type.valueOf(policyType) == Policy.Type.TUNNEL_FLOW) { - if (tunnelId == null) { - error("tunnel ID must be specified for TUNNEL_FLOW policy"); - return; - } - tpb.setTunnelId(tunnelId); - } - PolicyHandler.Result result = srService.createPolicy(tpb.build()); - - switch (result) { - case POLICY_EXISTS: - error("the same policy exists"); - break; - case ID_EXISTS: - error("the same policy ID exists"); - break; - case TUNNEL_NOT_FOUND: - error("the tunnel is not found"); - break; - case UNSUPPORTED_TYPE: - error("the policy type specified is not supported"); - break; - default: - break; - } - - } -} diff --git a/framework/src/onos/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/cli/PolicyListCommand.java b/framework/src/onos/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/cli/PolicyListCommand.java deleted file mode 100644 index 929c98c5..00000000 --- a/framework/src/onos/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/cli/PolicyListCommand.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.segmentrouting.cli; - -import org.apache.karaf.shell.commands.Command; -import org.onosproject.cli.AbstractShellCommand; -import org.onosproject.segmentrouting.Policy; -import org.onosproject.segmentrouting.SegmentRoutingService; -import org.onosproject.segmentrouting.TunnelPolicy; - -/** - * Command to show the list of policies. - */ -@Command(scope = "onos", name = "srpolicy-list", - description = "Lists all policies") -public class PolicyListCommand extends AbstractShellCommand { - - private static final String FORMAT_MAPPING_TUNNEL = - " id=%s, type=%s, prio=%d, src=%s, port=%d, dst=%s, port=%d, proto=%s, tunnel=%s"; - - @Override - protected void execute() { - - SegmentRoutingService srService = - AbstractShellCommand.get(SegmentRoutingService.class); - - srService.getPolicies().forEach(policy -> printPolicy(policy)); - } - - private void printPolicy(Policy policy) { - if (policy.type() == Policy.Type.TUNNEL_FLOW) { - print(FORMAT_MAPPING_TUNNEL, policy.id(), policy.type(), policy.priority(), - policy.srcIp(), policy.srcPort(), policy.dstIp(), policy.dstPort(), - (policy.ipProto() == null) ? "" : policy.ipProto(), - ((TunnelPolicy) policy).tunnelId()); - } - } -}
\ No newline at end of file diff --git a/framework/src/onos/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/cli/PolicyRemoveCommand.java b/framework/src/onos/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/cli/PolicyRemoveCommand.java deleted file mode 100644 index 34fe40d8..00000000 --- a/framework/src/onos/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/cli/PolicyRemoveCommand.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.segmentrouting.cli; - - -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.onosproject.cli.AbstractShellCommand; -import org.onosproject.segmentrouting.PolicyHandler; -import org.onosproject.segmentrouting.SegmentRoutingService; -import org.onosproject.segmentrouting.TunnelPolicy; - -/** - * Command to remove a policy. - */ -@Command(scope = "onos", name = "srpolicy-remove", - description = "Remove a policy") -public class PolicyRemoveCommand extends AbstractShellCommand { - - @Argument(index = 0, name = "policy ID", - description = "policy ID", - required = true, multiValued = false) - String policyId; - - @Override - protected void execute() { - - SegmentRoutingService srService = - AbstractShellCommand.get(SegmentRoutingService.class); - - TunnelPolicy.Builder tpb = TunnelPolicy.builder().setPolicyId(policyId); - PolicyHandler.Result result = srService.removePolicy(tpb.build()); - if (result == PolicyHandler.Result.POLICY_NOT_FOUND) { - print("ERROR: the policy is not found"); - } - } -}
\ No newline at end of file diff --git a/framework/src/onos/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/cli/TunnelAddCommand.java b/framework/src/onos/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/cli/TunnelAddCommand.java deleted file mode 100644 index bb0ae549..00000000 --- a/framework/src/onos/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/cli/TunnelAddCommand.java +++ /dev/null @@ -1,80 +0,0 @@ - -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.segmentrouting.cli; - -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.onosproject.cli.AbstractShellCommand; -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; -import java.util.StringTokenizer; - -/** - * Command to add a new tunnel. - */ -@Command(scope = "onos", name = "srtunnel-add", - description = "Create a new tunnel") -public class TunnelAddCommand extends AbstractShellCommand { - - @Argument(index = 0, name = "tunnel ID", - description = "tunnel ID", - required = true, multiValued = false) - String tunnelId; - - @Argument(index = 1, name = "label path", - description = "label path", - required = true, multiValued = false) - String labels; - - - @Override - protected void execute() { - - SegmentRoutingService srService = - AbstractShellCommand.get(SegmentRoutingService.class); - - List<Integer> labelIds = new ArrayList<>(); - StringTokenizer strToken = new StringTokenizer(labels, ","); - while (strToken.hasMoreTokens()) { - labelIds.add(Integer.valueOf(strToken.nextToken())); - } - Tunnel tunnel = new DefaultTunnel(tunnelId, labelIds); - - 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 diff --git a/framework/src/onos/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/cli/TunnelListCommand.java b/framework/src/onos/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/cli/TunnelListCommand.java deleted file mode 100644 index fe510783..00000000 --- a/framework/src/onos/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/cli/TunnelListCommand.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.segmentrouting.cli; - -import org.apache.karaf.shell.commands.Command; -import org.onosproject.cli.AbstractShellCommand; -import org.onosproject.segmentrouting.SegmentRoutingService; -import org.onosproject.segmentrouting.Tunnel; - -/** - * Command to show the list of tunnels. - */ -@Command(scope = "onos", name = "srtunnel-list", - description = "Lists all tunnels") -public class TunnelListCommand extends AbstractShellCommand { - - private static final String FORMAT_MAPPING = - " id=%s, path=%s"; - - @Override - protected void execute() { - - SegmentRoutingService srService = - AbstractShellCommand.get(SegmentRoutingService.class); - - srService.getTunnels().forEach(tunnel -> printTunnel(tunnel)); - } - - private void printTunnel(Tunnel tunnel) { - print(FORMAT_MAPPING, tunnel.id(), tunnel.labelIds()); - } -} diff --git a/framework/src/onos/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/cli/TunnelRemoveCommand.java b/framework/src/onos/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/cli/TunnelRemoveCommand.java deleted file mode 100644 index cca22c30..00000000 --- a/framework/src/onos/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/cli/TunnelRemoveCommand.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.segmentrouting.cli; - - -import com.google.common.collect.Lists; -import org.apache.karaf.shell.commands.Argument; -import org.apache.karaf.shell.commands.Command; -import org.onosproject.cli.AbstractShellCommand; -import org.onosproject.segmentrouting.DefaultTunnel; -import org.onosproject.segmentrouting.SegmentRoutingService; -import org.onosproject.segmentrouting.Tunnel; -import org.onosproject.segmentrouting.TunnelHandler; - -/** - * Command to remove a tunnel. - */ -@Command(scope = "onos", name = "srtunnel-remove", - description = "Remove a tunnel") -public class TunnelRemoveCommand extends AbstractShellCommand { - - @Argument(index = 0, name = "tunnel ID", - description = "tunnel ID", - required = true, multiValued = false) - String tunnelId; - - @Override - protected void execute() { - SegmentRoutingService srService = - AbstractShellCommand.get(SegmentRoutingService.class); - - Tunnel tunnel = new DefaultTunnel(tunnelId, Lists.newArrayList()); - TunnelHandler.Result result = srService.removeTunnel(tunnel); - switch (result) { - case TUNNEL_IN_USE: - print("ERROR: the tunnel is still in use"); - break; - case TUNNEL_NOT_FOUND: - print("ERROR: the tunnel is not found"); - break; - default: - break; - } - } -}
\ No newline at end of file diff --git a/framework/src/onos/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/cli/package-info.java b/framework/src/onos/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/cli/package-info.java deleted file mode 100644 index 1a9d3c78..00000000 --- a/framework/src/onos/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/cli/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Segment routing application CLI handlers. - */ -package org.onosproject.segmentrouting.cli;
\ No newline at end of file |