[SDFAB-90] Implement priority mechanism in the Policy framework.
Change-Id: I738956566bfcf1bd5e2d4fcd9bfef153b5fb674a
diff --git a/impl/src/main/java/org/onosproject/segmentrouting/cli/TrafficMatchAddCommand.java b/impl/src/main/java/org/onosproject/segmentrouting/cli/TrafficMatchAddCommand.java
index ad9a432..ddab52e 100644
--- a/impl/src/main/java/org/onosproject/segmentrouting/cli/TrafficMatchAddCommand.java
+++ b/impl/src/main/java/org/onosproject/segmentrouting/cli/TrafficMatchAddCommand.java
@@ -33,6 +33,7 @@
import org.onosproject.segmentrouting.policy.api.PolicyService;
import org.onosproject.segmentrouting.policy.api.TrafficMatch;
import org.onosproject.segmentrouting.policy.api.TrafficMatchId;
+import org.onosproject.segmentrouting.policy.api.TrafficMatchPriority;
/**
* Command to add a traffic match.
@@ -47,6 +48,11 @@
required = true, multiValued = false)
String policyId;
+ @Argument(index = 1, name = "priority",
+ description = "priority",
+ required = true, multiValued = false)
+ int priority;
+
@Option(name = "-sip", aliases = "--srcIp",
description = "src IP",
valueToShowInHelp = "10.0.0.1",
@@ -103,10 +109,17 @@
print("Empty traffic selector is not allowed");
return;
}
+ TrafficMatchPriority trafficMatchPriority;
+ try {
+ trafficMatchPriority = new TrafficMatchPriority(priority);
+ } catch (IllegalArgumentException ex) {
+ print(ex.getMessage());
+ return;
+ }
PolicyService policyService = AbstractShellCommand.get(PolicyService.class);
TrafficMatchId trafficMatchId = policyService.addOrUpdateTrafficMatch(
- new TrafficMatch(trafficSelector, PolicyId.of(policyId)));
+ new TrafficMatch(trafficSelector, PolicyId.of(policyId), trafficMatchPriority));
print("Traffic match %s has been submitted", trafficMatchId);
}