From 3684dc7c5c3d3fa95a0ea077c4489ccba1ec38cc Mon Sep 17 00:00:00 2001 From: Jayasree Ghosh Date: Thu, 9 Jun 2016 18:07:19 +0530 Subject: [PATCH] ONOS-4635:Fix Issue with add flows using flowobjective-forward REST API with incorrect priority Change-Id: I929918b61aec83c2dc2cdca456dfdb1d2d736c01 --- .../net/flowobjective/DefaultFilteringObjective.java | 2 ++ .../net/flowobjective/DefaultForwardingObjective.java | 2 ++ .../main/java/org/onosproject/net/flowobjective/Objective.java | 2 ++ 3 files changed, 6 insertions(+) diff --git a/core/api/src/main/java/org/onosproject/net/flowobjective/DefaultFilteringObjective.java b/core/api/src/main/java/org/onosproject/net/flowobjective/DefaultFilteringObjective.java index 0eaf3485b8..3cc646f1c5 100644 --- a/core/api/src/main/java/org/onosproject/net/flowobjective/DefaultFilteringObjective.java +++ b/core/api/src/main/java/org/onosproject/net/flowobjective/DefaultFilteringObjective.java @@ -272,6 +272,8 @@ public final class DefaultFilteringObjective implements FilteringObjective { checkNotNull(type, "Must have a type."); checkArgument(!conditions.isEmpty(), "Must have at least one condition."); checkNotNull(appId, "Must supply an application id"); + checkArgument(priority <= MAX_PRIORITY && priority >= MIN_PRIORITY, "Priority " + + "out of range"); return new DefaultFilteringObjective(this); } diff --git a/core/api/src/main/java/org/onosproject/net/flowobjective/DefaultForwardingObjective.java b/core/api/src/main/java/org/onosproject/net/flowobjective/DefaultForwardingObjective.java index 84e38aff3e..f83d5e1740 100644 --- a/core/api/src/main/java/org/onosproject/net/flowobjective/DefaultForwardingObjective.java +++ b/core/api/src/main/java/org/onosproject/net/flowobjective/DefaultForwardingObjective.java @@ -283,6 +283,8 @@ public final class DefaultForwardingObjective implements ForwardingObjective { checkArgument(nextId != null || treatment != null, "Must supply at " + "least a treatment and/or a nextId"); checkNotNull(appId, "Must supply an application id"); + checkArgument(priority <= MAX_PRIORITY && priority >= MIN_PRIORITY, "Priority " + + "out of range"); op = Operation.ADD; return new DefaultForwardingObjective(this); } diff --git a/core/api/src/main/java/org/onosproject/net/flowobjective/Objective.java b/core/api/src/main/java/org/onosproject/net/flowobjective/Objective.java index c675231739..ddbbe2f96f 100644 --- a/core/api/src/main/java/org/onosproject/net/flowobjective/Objective.java +++ b/core/api/src/main/java/org/onosproject/net/flowobjective/Objective.java @@ -29,6 +29,8 @@ public interface Objective { boolean DEFAULT_PERMANENT = true; int DEFAULT_TIMEOUT = 0; int DEFAULT_PRIORITY = 32768; + int MIN_PRIORITY = 0; + int MAX_PRIORITY = 65535; /** * Type of operation.