diff options
author | Ashlee Young <ashlee@onosfw.com> | 2015-10-19 10:14:31 -0700 |
---|---|---|
committer | Ashlee Young <ashlee@onosfw.com> | 2015-10-19 10:14:31 -0700 |
commit | e9bb60be43af477f17b30ee1f2ba205565b7fa15 (patch) | |
tree | 981fd759a44b751fc45cde774f46fda37c11c257 /framework/src/onos/core/api/src/main/java/org/onosproject/net/flow/criteria | |
parent | 74f3941756a1386cbc1fa99ee73fdc8376a0b6a0 (diff) |
Updated onos src tree to commit id 1e60f97ae50c05b94fcb6a10520738bfb5efdfd1
Diffstat (limited to 'framework/src/onos/core/api/src/main/java/org/onosproject/net/flow/criteria')
5 files changed, 189 insertions, 83 deletions
diff --git a/framework/src/onos/core/api/src/main/java/org/onosproject/net/flow/criteria/Criteria.java b/framework/src/onos/core/api/src/main/java/org/onosproject/net/flow/criteria/Criteria.java index 7e1d43a5..ae940bdc 100644 --- a/framework/src/onos/core/api/src/main/java/org/onosproject/net/flow/criteria/Criteria.java +++ b/framework/src/onos/core/api/src/main/java/org/onosproject/net/flow/criteria/Criteria.java @@ -25,6 +25,8 @@ import org.onlab.packet.VlanId; import org.onosproject.net.IndexedLambda; import org.onosproject.net.Lambda; import org.onosproject.net.OchSignal; +import org.onosproject.net.OduSignalId; +import org.onosproject.net.OduSignalType; import org.onosproject.net.PortNumber; import org.onosproject.net.flow.criteria.Criterion.Type; import org.onosproject.net.OchSignalType; @@ -486,6 +488,26 @@ public final class Criteria { return new OchSignalTypeCriterion(signalType); } + /** + * Creates a match on ODU (Optical channel Data Unit) signal ID using the specified value. + * + * @param oduSignalId ODU Signal Id + * @return match criterion + */ + public static Criterion matchOduSignalId(OduSignalId oduSignalId) { + return new OduSignalIdCriterion(oduSignalId); + } + + /** + * Creates a match on ODU (Optical channel Data Unit) signal Type using the specified value. + * + * @param signalType ODU Signal Type + * @return match criterion + */ + public static Criterion matchOduSignalType(OduSignalType signalType) { + return new OduSignalTypeCriterion(signalType); + } + public static Criterion dummy() { return new DummyCriterion(); } diff --git a/framework/src/onos/core/api/src/main/java/org/onosproject/net/flow/criteria/Criterion.java b/framework/src/onos/core/api/src/main/java/org/onosproject/net/flow/criteria/Criterion.java index 12ab57de..10cb629f 100644 --- a/framework/src/onos/core/api/src/main/java/org/onosproject/net/flow/criteria/Criterion.java +++ b/framework/src/onos/core/api/src/main/java/org/onosproject/net/flow/criteria/Criterion.java @@ -125,6 +125,10 @@ public interface Criterion { OCH_SIGID, /** Optical channel signal type (fixed or flexible). */ OCH_SIGTYPE, + /** ODU (Optical channel Data Unit) signal ID. */ + ODU_SIGID, + /** ODU (Optical channel Data Unit) signal type. */ + ODU_SIGTYPE, /** * An empty criterion. diff --git a/framework/src/onos/core/api/src/main/java/org/onosproject/net/flow/criteria/OduSignalIdCriterion.java b/framework/src/onos/core/api/src/main/java/org/onosproject/net/flow/criteria/OduSignalIdCriterion.java new file mode 100644 index 00000000..cb513397 --- /dev/null +++ b/framework/src/onos/core/api/src/main/java/org/onosproject/net/flow/criteria/OduSignalIdCriterion.java @@ -0,0 +1,82 @@ +/* + * 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.net.flow.criteria; + +import static com.google.common.base.MoreObjects.toStringHelper; +import static com.google.common.base.Preconditions.checkNotNull; + +import java.util.Objects; + +import org.onosproject.net.OduSignalId; + +/** + * Implementation of ODU (Optical channel Data Unit) signal ID signal criterion. + * This criterion is based on the specification of "OFPXMT_EXP_ODU_SIGID" in + * Open Networking Foundation "Optical Transport Protocol Extension Version 1.0", but + * defined in protocol agnostic way. + */ +public final class OduSignalIdCriterion implements Criterion { + + private final OduSignalId oduSignalId; + + /** + * Create an instance with the specified ODU signal ID. + * + * @param oduSignalId - ODU signal ID + */ + OduSignalIdCriterion(OduSignalId oduSignalId) { + this.oduSignalId = checkNotNull(oduSignalId); + } + + @Override + public Type type() { + return Type.ODU_SIGID; + } + + /** + * Returns the ODU Signal to match. + * + * @return the ODU signal to match + */ + public OduSignalId oduSignalId() { + return oduSignalId; + } + + @Override + public int hashCode() { + return Objects.hash(type(), oduSignalId); + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (!(obj instanceof OduSignalIdCriterion)) { + return false; + } + final OduSignalIdCriterion that = (OduSignalIdCriterion) obj; + return Objects.equals(this.oduSignalId, that.oduSignalId); + } + + @Override + public String toString() { + return toStringHelper(type().toString()) + .add("oduSignalId", oduSignalId) + .toString(); + } + +} diff --git a/framework/src/onos/core/api/src/main/java/org/onosproject/net/flow/criteria/OduSignalTypeCriterion.java b/framework/src/onos/core/api/src/main/java/org/onosproject/net/flow/criteria/OduSignalTypeCriterion.java new file mode 100644 index 00000000..d92880db --- /dev/null +++ b/framework/src/onos/core/api/src/main/java/org/onosproject/net/flow/criteria/OduSignalTypeCriterion.java @@ -0,0 +1,81 @@ +/* + * 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.net.flow.criteria; + +import static com.google.common.base.MoreObjects.toStringHelper; +import static com.google.common.base.Preconditions.checkNotNull; + +import java.util.Objects; + +import org.onosproject.net.OduSignalType; + +/** + * Implementation of ODU (Optical channel Data Unit) signal Type criterion. + * This criterion is based on the specification of "OFPXMT_EXP_ODU_SIGTYPE" in + * Open Networking Foundation "Optical Transport Protocol Extension Version 1.0", but + * defined in protocol agnostic way. + */ +public final class OduSignalTypeCriterion implements Criterion { + + private final OduSignalType signalType; + + /** + * Create an instance with the specified ODU signal Type. + * + * @param signalType - ODU signal Type + */ + OduSignalTypeCriterion(OduSignalType signalType) { + this.signalType = checkNotNull(signalType); + } + + @Override + public Type type() { + return Type.ODU_SIGTYPE; + } + + /** + * Returns the ODU Signal Type to match. + * + * @return the ODU signal Type to match + */ + public OduSignalType signalType() { + return signalType; + } + + @Override + public int hashCode() { + return Objects.hash(type(), signalType); + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (!(obj instanceof OduSignalTypeCriterion)) { + return false; + } + final OduSignalTypeCriterion that = (OduSignalTypeCriterion) obj; + return Objects.equals(this.signalType, that.signalType); + } + + @Override + public String toString() { + return toStringHelper(type().toString()) + .add("signalType", signalType) + .toString(); + } +} diff --git a/framework/src/onos/core/api/src/main/java/org/onosproject/net/flow/criteria/OpticalSignalTypeCriterion.java b/framework/src/onos/core/api/src/main/java/org/onosproject/net/flow/criteria/OpticalSignalTypeCriterion.java deleted file mode 100644 index b712675b..00000000 --- a/framework/src/onos/core/api/src/main/java/org/onosproject/net/flow/criteria/OpticalSignalTypeCriterion.java +++ /dev/null @@ -1,83 +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.net.flow.criteria; - -import java.util.Objects; - -import static com.google.common.base.MoreObjects.toStringHelper; - -/** - * Implementation of optical signal type criterion (8 bits unsigned - * integer). - * - * @deprecated in Cardinal Release - */ -@Deprecated -public final class OpticalSignalTypeCriterion implements Criterion { - private static final short MASK = 0xff; - private final short signalType; // Signal type value: 8 bits - private final Type type; - - /** - * Constructor. - * - * @param signalType the optical signal type to match (8 bits unsigned - * integer) - * @param type the match type. Should be Type.OCH_SIGTYPE - */ - OpticalSignalTypeCriterion(short signalType, Type type) { - this.signalType = (short) (signalType & MASK); - this.type = type; - } - - @Override - public Type type() { - return this.type; - } - - /** - * Gets the optical signal type to match. - * - * @return the optical signal type to match (8 bits unsigned integer) - */ - public short signalType() { - return signalType; - } - - @Override - public String toString() { - return toStringHelper(type().toString()) - .add("signalType", signalType).toString(); - } - - @Override - public int hashCode() { - return Objects.hash(type().ordinal(), signalType); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof OpticalSignalTypeCriterion) { - OpticalSignalTypeCriterion that = (OpticalSignalTypeCriterion) obj; - return Objects.equals(signalType, that.signalType) && - Objects.equals(type, that.type); - } - return false; - } -} |