Skip to content
Snippets Groups Projects
Commit 1af589cb authored by sanjivininaikar's avatar sanjivininaikar
Browse files

Update StatsReplySerializer.java

Support for IPv6
parent dd963a31
No related branches found
No related tags found
No related merge requests found
......@@ -40,33 +40,30 @@ import org.projectfloodlight.openflow.protocol.OFPortStatsReply;
import org.projectfloodlight.openflow.protocol.OFPortStatsEntry;
import org.projectfloodlight.openflow.protocol.OFPortDescStatsReply;
import org.projectfloodlight.openflow.protocol.OFPortDesc;
import org.projectfloodlight.openflow.protocol.ver13.OFFlowModFlagsSerializerVer13;
// Use Loxigen's serializer
//Use the loxigen's serializer
import org.projectfloodlight.openflow.protocol.ver13.OFPortFeaturesSerializerVer13;
import org.projectfloodlight.openflow.protocol.ver12.OFFlowModFlagsSerializerVer12;
import org.projectfloodlight.openflow.protocol.ver12.OFPortFeaturesSerializerVer12;
import org.projectfloodlight.openflow.protocol.ver11.OFFlowModFlagsSerializerVer11;
import org.projectfloodlight.openflow.protocol.ver11.OFPortFeaturesSerializerVer11;
import org.projectfloodlight.openflow.protocol.ver10.OFFlowModFlagsSerializerVer10;
import org.projectfloodlight.openflow.protocol.ver10.OFPortFeaturesSerializerVer10;
import org.projectfloodlight.openflow.protocol.ver13.OFPortStateSerializerVer13;
import org.projectfloodlight.openflow.protocol.ver12.OFPortStateSerializerVer12;
import org.projectfloodlight.openflow.protocol.ver11.OFPortStateSerializerVer11;
import org.projectfloodlight.openflow.protocol.ver10.OFPortStateSerializerVer10;
import org.projectfloodlight.openflow.protocol.ver13.OFPortConfigSerializerVer13;
import org.projectfloodlight.openflow.protocol.ver14.OFFlowModFlagsSerializerVer14;
import org.projectfloodlight.openflow.protocol.ver12.OFPortConfigSerializerVer12;
import org.projectfloodlight.openflow.protocol.ver11.OFPortConfigSerializerVer11;
import org.projectfloodlight.openflow.protocol.ver10.OFPortConfigSerializerVer10;
import org.projectfloodlight.openflow.protocol.OFAggregateStatsReply;
import org.projectfloodlight.openflow.protocol.OFVersion;
import org.projectfloodlight.openflow.protocol.match.*;
import org.projectfloodlight.openflow.protocol.oxm.*;
import org.projectfloodlight.openflow.protocol.instruction.*;
import org.projectfloodlight.openflow.protocol.action.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* Serialize a DPID as colon-separated hexadecimal
*/
......@@ -203,27 +200,7 @@ public class StatsReplySerializer extends JsonSerializer<StatsReply> {
jGen.writeNumberField("priority", entry.getPriority());
jGen.writeNumberField("idleTimeoutSec", entry.getIdleTimeout());
jGen.writeNumberField("hardTimeoutSec", entry.getHardTimeout());
switch (entry.getVersion()) {
case OF_10:
jGen.writeNumberField("flags", OFFlowModFlagsSerializerVer10.toWireValue(entry.getFlags()));
break;
case OF_11:
jGen.writeNumberField("flags", OFFlowModFlagsSerializerVer11.toWireValue(entry.getFlags()));
break;
case OF_12:
jGen.writeNumberField("flags", OFFlowModFlagsSerializerVer12.toWireValue(entry.getFlags()));
break;
case OF_13:
jGen.writeNumberField("flags", OFFlowModFlagsSerializerVer13.toWireValue(entry.getFlags()));
break;
case OF_14:
jGen.writeNumberField("flags", OFFlowModFlagsSerializerVer14.toWireValue(entry.getFlags()));
break;
default:
logger.error("Could not decode OFVersion {}", entry.getVersion());
break;
}
jGen.writeNumberField("flags", entry.getFlags());
// list flow matches
jGen.writeObjectFieldStart("match");
Iterator<MatchField<?>> mi = entry.getMatch().getMatchFields().iterator(); // get iter to any match field type
......@@ -305,13 +282,13 @@ public class StatsReplySerializer extends JsonSerializer<StatsReply> {
jGen.writeNumberField(MatchUtils.STR_IPV6_FLOW_LABEL, m.get(MatchField.IPV6_FLABEL).getIPv6FlowLabelValue());
break;
case IPV6_ND_SLL:
jGen.writeNumberField(MatchUtils.STR_IPV6_ND_SSL, m.get(MatchField.IPV6_ND_SLL).getLong());
jGen.writeNumberField(MatchUtils.STR_IPV6_ND_SLL, m.get(MatchField.IPV6_ND_SLL).getLong());
break;
case IPV6_ND_TARGET:
jGen.writeNumberField(MatchUtils.STR_IPV6_ND_TARGET, m.get(MatchField.IPV6_ND_TARGET).getZeroCompressStart());
break;
case IPV6_ND_TLL:
jGen.writeNumberField(MatchUtils.STR_IPV6_ND_TTL, m.get(MatchField.IPV6_ND_TLL).getLong());
jGen.writeNumberField(MatchUtils.STR_IPV6_ND_TLL, m.get(MatchField.IPV6_ND_TLL).getLong());
break;
case METADATA:
jGen.writeNumberField(MatchUtils.STR_METADATA, m.get(MatchField.METADATA).getValue().getValue());
......@@ -645,9 +622,6 @@ public class StatsReplySerializer extends JsonSerializer<StatsReply> {
jGen.writeNumberField("supportedFeatures", OFPortFeaturesSerializerVer13.toWireValue(entry.getSupported()));
jGen.writeNumberField("peerFeatures", OFPortFeaturesSerializerVer13.toWireValue(entry.getPeer()));
break;
case OF_14:
// TODO
logger.error("OF1.4 OFPortDesc serializer not implemented");
}
if (OFVersion.OF_10 != entry.getVersion()) {
jGen.writeNumberField("currSpeed",entry.getCurrSpeed());
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment