diff options
author | Ashlee Young <ashlee@wildernessvoice.com> | 2015-12-01 05:49:27 -0800 |
---|---|---|
committer | Ashlee Young <ashlee@wildernessvoice.com> | 2015-12-01 05:49:27 -0800 |
commit | e63291850fd0795c5700e25e67e5dee89ba54c5f (patch) | |
tree | 9707289536ad95bb739c9856761ad43275e07d8c /framework/src/onos/core/common/src/main/java | |
parent | 671823e12bc13be9a8b87a5d7de33da1bb7a44e8 (diff) |
onos commit hash c2999f30c69e50df905a9d175ef80b3f23a98514
Change-Id: I2bb8562c4942b6d6a6d60b663db2e17540477b81
Signed-off-by: Ashlee Young <ashlee@wildernessvoice.com>
Diffstat (limited to 'framework/src/onos/core/common/src/main/java')
7 files changed, 76 insertions, 21 deletions
diff --git a/framework/src/onos/core/common/src/main/java/org/onosproject/codec/impl/CodecManager.java b/framework/src/onos/core/common/src/main/java/org/onosproject/codec/impl/CodecManager.java index 3433b3b7..c7af4e5b 100644 --- a/framework/src/onos/core/common/src/main/java/org/onosproject/codec/impl/CodecManager.java +++ b/framework/src/onos/core/common/src/main/java/org/onosproject/codec/impl/CodecManager.java @@ -38,6 +38,7 @@ import org.onosproject.net.driver.Driver; import org.onosproject.net.flow.FlowEntry; import org.onosproject.net.flow.FlowRule; import org.onosproject.net.flow.TableStatisticsEntry; +import org.onosproject.net.device.PortStatistics; import org.onosproject.net.flow.TrafficSelector; import org.onosproject.net.flow.TrafficTreatment; import org.onosproject.net.flow.criteria.Criterion; @@ -102,6 +103,7 @@ public class CodecManager implements CodecService { registerCodec(GroupBucket.class, new GroupBucketCodec()); registerCodec(Load.class, new LoadCodec()); registerCodec(TableStatisticsEntry.class, new TableStatisticsEntryCodec()); + registerCodec(PortStatistics.class, new PortStatisticsCodec()); log.info("Started"); } diff --git a/framework/src/onos/core/common/src/main/java/org/onosproject/codec/impl/DecodeConstraintCodecHelper.java b/framework/src/onos/core/common/src/main/java/org/onosproject/codec/impl/DecodeConstraintCodecHelper.java index 5746003c..40c553d9 100644 --- a/framework/src/onos/core/common/src/main/java/org/onosproject/codec/impl/DecodeConstraintCodecHelper.java +++ b/framework/src/onos/core/common/src/main/java/org/onosproject/codec/impl/DecodeConstraintCodecHelper.java @@ -32,8 +32,6 @@ import org.onosproject.net.intent.constraint.LatencyConstraint; import org.onosproject.net.intent.constraint.LinkTypeConstraint; import org.onosproject.net.intent.constraint.ObstacleConstraint; import org.onosproject.net.intent.constraint.WaypointConstraint; -import org.onosproject.net.resource.link.BandwidthResource; -import org.onosproject.net.resource.link.LambdaResource; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.node.ObjectNode; @@ -106,7 +104,7 @@ public final class DecodeConstraintCodecHelper { ConstraintCodec.LAMBDA + ConstraintCodec.MISSING_MEMBER_MESSAGE) .asLong(); - return new LambdaConstraint(LambdaResource.valueOf(new IndexedLambda(lambda))); + return new LambdaConstraint(new IndexedLambda(lambda)); } /** @@ -185,7 +183,7 @@ public final class DecodeConstraintCodecHelper { ConstraintCodec.BANDWIDTH + ConstraintCodec.MISSING_MEMBER_MESSAGE) .asDouble(); - return new BandwidthConstraint(new BandwidthResource(Bandwidth.bps(bandwidth))); + return new BandwidthConstraint(Bandwidth.bps(bandwidth)); } /** diff --git a/framework/src/onos/core/common/src/main/java/org/onosproject/codec/impl/DecodeCriterionCodecHelper.java b/framework/src/onos/core/common/src/main/java/org/onosproject/codec/impl/DecodeCriterionCodecHelper.java index 69c5e791..88cc3328 100644 --- a/framework/src/onos/core/common/src/main/java/org/onosproject/codec/impl/DecodeCriterionCodecHelper.java +++ b/framework/src/onos/core/common/src/main/java/org/onosproject/codec/impl/DecodeCriterionCodecHelper.java @@ -15,11 +15,8 @@ */ package org.onosproject.codec.impl; -import static org.onlab.util.Tools.nullIsIllegal; - -import java.util.HashMap; -import java.util.Map; - +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.node.ObjectNode; import org.onlab.packet.Ip6Address; import org.onlab.packet.IpPrefix; import org.onlab.packet.MacAddress; @@ -37,8 +34,10 @@ import org.onosproject.net.PortNumber; import org.onosproject.net.flow.criteria.Criteria; import org.onosproject.net.flow.criteria.Criterion; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.node.ObjectNode; +import java.util.HashMap; +import java.util.Map; + +import static org.onlab.util.Tools.nullIsIllegal; /** * Decode portion of the criterion codec. @@ -106,12 +105,16 @@ public final class DecodeCriterionCodecHelper { private class EthTypeDecoder implements CriterionDecoder { @Override public Criterion decodeCriterion(ObjectNode json) { - int ethType = nullIsIllegal(json.get(CriterionCodec.ETH_TYPE), - CriterionCodec.ETH_TYPE + MISSING_MEMBER_MESSAGE).asInt(); + int ethType; + if (json.get(CriterionCodec.ETH_TYPE).isInt()) { + ethType = nullIsIllegal(json.get(CriterionCodec.ETH_TYPE), + CriterionCodec.ETH_TYPE + MISSING_MEMBER_MESSAGE).asInt(); + } else { + ethType = Integer.decode(json.get(CriterionCodec.ETH_TYPE).textValue()); + } return Criteria.matchEthType(ethType); } } - private class EthDstDecoder implements CriterionDecoder { @Override public Criterion decodeCriterion(ObjectNode json) { diff --git a/framework/src/onos/core/common/src/main/java/org/onosproject/codec/impl/EncodeConstraintCodecHelper.java b/framework/src/onos/core/common/src/main/java/org/onosproject/codec/impl/EncodeConstraintCodecHelper.java index 61f4dbf4..ec4ee444 100644 --- a/framework/src/onos/core/common/src/main/java/org/onosproject/codec/impl/EncodeConstraintCodecHelper.java +++ b/framework/src/onos/core/common/src/main/java/org/onosproject/codec/impl/EncodeConstraintCodecHelper.java @@ -128,7 +128,7 @@ public final class EncodeConstraintCodecHelper { final BandwidthConstraint bandwidthConstraint = (BandwidthConstraint) constraint; return context.mapper().createObjectNode() - .put("bandwidth", bandwidthConstraint.bandwidth().toDouble()); + .put("bandwidth", bandwidthConstraint.bandwidth().bps()); } /** @@ -142,7 +142,7 @@ public final class EncodeConstraintCodecHelper { (LambdaConstraint) constraint; return context.mapper().createObjectNode() - .put("lambda", lambdaConstraint.lambda().toInt()); + .put("lambda", lambdaConstraint.lambda().index()); } /** diff --git a/framework/src/onos/core/common/src/main/java/org/onosproject/codec/impl/EncodeCriterionCodecHelper.java b/framework/src/onos/core/common/src/main/java/org/onosproject/codec/impl/EncodeCriterionCodecHelper.java index 8fc6bbcf..33dd46a3 100644 --- a/framework/src/onos/core/common/src/main/java/org/onosproject/codec/impl/EncodeCriterionCodecHelper.java +++ b/framework/src/onos/core/common/src/main/java/org/onosproject/codec/impl/EncodeCriterionCodecHelper.java @@ -15,8 +15,7 @@ */ package org.onosproject.codec.impl; -import java.util.EnumMap; - +import com.fasterxml.jackson.databind.node.ObjectNode; import org.onlab.util.HexString; import org.onosproject.codec.CodecContext; import org.onosproject.net.OchSignal; @@ -50,7 +49,7 @@ import org.onosproject.net.flow.criteria.UdpPortCriterion; import org.onosproject.net.flow.criteria.VlanIdCriterion; import org.onosproject.net.flow.criteria.VlanPcpCriterion; -import com.fasterxml.jackson.databind.node.ObjectNode; +import java.util.EnumMap; import static com.google.common.base.Preconditions.checkNotNull; @@ -69,7 +68,7 @@ public final class EncodeCriterionCodecHelper { * Initializes the formatter lookup map for the criterion subclasses. * * @param criterion Criterion to encode - * @param context context of the JSON encoding + * @param context context of the JSON encoding */ public EncodeCriterionCodecHelper(Criterion criterion, CodecContext context) { this.criterion = criterion; @@ -171,7 +170,8 @@ public final class EncodeCriterionCodecHelper { public ObjectNode encodeCriterion(ObjectNode root, Criterion criterion) { final EthTypeCriterion ethTypeCriterion = (EthTypeCriterion) criterion; - return root.put(CriterionCodec.ETH_TYPE, ethTypeCriterion.ethType().toShort()); + return root.put(CriterionCodec.ETH_TYPE, "0x" + + Integer.toHexString(ethTypeCriterion.ethType().toShort() & 0xffff)); } } diff --git a/framework/src/onos/core/common/src/main/java/org/onosproject/codec/impl/FlowEntryCodec.java b/framework/src/onos/core/common/src/main/java/org/onosproject/codec/impl/FlowEntryCodec.java index 923bdf2b..3f581bed 100644 --- a/framework/src/onos/core/common/src/main/java/org/onosproject/codec/impl/FlowEntryCodec.java +++ b/framework/src/onos/core/common/src/main/java/org/onosproject/codec/impl/FlowEntryCodec.java @@ -39,6 +39,7 @@ public final class FlowEntryCodec extends JsonCodec<FlowEntry> { final ObjectNode result = context.mapper().createObjectNode() .put("id", Long.toString(flowEntry.id().value())) + .put("tableId", flowEntry.tableId()) .put("appId", service.getAppId(flowEntry.appId()).name()) .put("groupId", flowEntry.groupId().id()) .put("priority", flowEntry.priority()) diff --git a/framework/src/onos/core/common/src/main/java/org/onosproject/codec/impl/PortStatisticsCodec.java b/framework/src/onos/core/common/src/main/java/org/onosproject/codec/impl/PortStatisticsCodec.java new file mode 100644 index 00000000..e8b3c4c6 --- /dev/null +++ b/framework/src/onos/core/common/src/main/java/org/onosproject/codec/impl/PortStatisticsCodec.java @@ -0,0 +1,51 @@ +/* + * 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.codec.impl; + +import org.onosproject.codec.CodecContext; +import org.onosproject.codec.JsonCodec; +import org.onosproject.net.device.PortStatistics; + +import com.fasterxml.jackson.databind.node.ObjectNode; + +import static com.google.common.base.Preconditions.checkNotNull; + +/** + * Port statistics entry JSON codec. + */ +public final class PortStatisticsCodec extends JsonCodec<PortStatistics> { + + @Override + public ObjectNode encode(PortStatistics entry, CodecContext context) { + checkNotNull(entry, "Port Statistics cannot be null"); + + final ObjectNode result = context.mapper().createObjectNode() + .put("port", entry.port()) + .put("packetsReceived", entry.packetsReceived()) + .put("packetsSent", entry.packetsSent()) + .put("bytesReceived", entry.bytesReceived()) + .put("bytesSent", entry.bytesSent()) + .put("packetsRxDropped", entry.packetsRxDropped()) + .put("packetsTxDropped", entry.packetsTxDropped()) + .put("packetsRxErrors", entry.packetsRxErrors()) + .put("packetsTxErrors", entry.packetsTxErrors()) + .put("durationSec", entry.durationSec()); + + return result; + } + +} + |