Supports UPD and TCP ports for Segment Routing policy add CLI (srpolicy-add).
Change-Id: Ib55701e429bc1080211bcc09adb0dc2b21ee4461
diff --git a/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/cli/PolicyAddCommand.java b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/cli/PolicyAddCommand.java
index adcb936..2931307 100644
--- a/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/cli/PolicyAddCommand.java
+++ b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/cli/PolicyAddCommand.java
@@ -46,17 +46,32 @@
required = false, multiValued = false)
String srcIp;
- @Argument(index = 3, name = "dst IP",
+ @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 = 4, name = "policy type",
+ @Argument(index = 5, name = "dst port",
+ description = "dst port",
+ required = false, multiValued = false)
+ short dstPort;
+
+ @Argument(index = 6, name = "proto",
+ description = "proto",
+ required = false, multiValued = false)
+ String proto;
+
+ @Argument(index = 7, name = "policy type",
description = "policy type",
required = true, multiValued = false)
String policyType;
- @Argument(index = 5, name = "tunnel ID",
+ @Argument(index = 8, name = "tunnel ID",
description = "tunnel ID",
required = false, multiValued = false)
String tunnelId;
@@ -77,6 +92,15 @@
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) {
// TODO: handle errors
diff --git a/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/cli/PolicyListCommand.java b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/cli/PolicyListCommand.java
index 7677e2e..929c98c 100644
--- a/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/cli/PolicyListCommand.java
+++ b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/cli/PolicyListCommand.java
@@ -29,7 +29,7 @@
public class PolicyListCommand extends AbstractShellCommand {
private static final String FORMAT_MAPPING_TUNNEL =
- " id=%s, type=%s, prio=%d, src=%s, dst=%s, proto=%s, tunnel=%s";
+ " id=%s, type=%s, prio=%d, src=%s, port=%d, dst=%s, port=%d, proto=%s, tunnel=%s";
@Override
protected void execute() {
@@ -43,7 +43,8 @@
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.dstIp(), (policy.ipProto() == null) ? "" : policy.ipProto(),
+ policy.srcIp(), policy.srcPort(), policy.dstIp(), policy.dstPort(),
+ (policy.ipProto() == null) ? "" : policy.ipProto(),
((TunnelPolicy) policy).tunnelId());
}
}