Moved pure ONOS code in net.floodlightcontroller.util to onos package namespace
diff --git a/src/main/java/net/floodlightcontroller/util/CallerId.java b/src/main/java/net/floodlightcontroller/util/CallerId.java
deleted file mode 100644
index ade0f0d..0000000
--- a/src/main/java/net/floodlightcontroller/util/CallerId.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package net.floodlightcontroller.util;
-
-import org.codehaus.jackson.annotate.JsonProperty;
-
-/**
- * The class representing a Caller ID for an ONOS component.
- */
-public class CallerId {
- private String value;
-
- /**
- * Default constructor.
- */
- public CallerId() {}
-
- /**
- * Constructor from a string value.
- *
- * @param value the value to use.
- */
- public CallerId(String value) {
- this.value = value;
- }
-
- /**
- * Get the value of the Caller ID.
- *
- * @return the value of the Caller ID.
- */
- @JsonProperty("value")
- public String value() { return value; }
-
- /**
- * Set the value of the Caller ID.
- *
- * @param value the value to set.
- */
- @JsonProperty("value")
- public void setValue(String value) {
- this.value = value;
- }
-
- /**
- * Convert the Caller ID value to a string.
- *
- * @return the Caller ID value to a string.
- */
- @Override
- public String toString() {
- return value;
- }
-}
diff --git a/src/main/java/net/floodlightcontroller/util/DataPath.java b/src/main/java/net/floodlightcontroller/util/DataPath.java
deleted file mode 100644
index 0ca0d13..0000000
--- a/src/main/java/net/floodlightcontroller/util/DataPath.java
+++ /dev/null
@@ -1,131 +0,0 @@
-package net.floodlightcontroller.util;
-
-import java.util.ArrayList;
-
-import net.floodlightcontroller.util.SwitchPort;
-import net.floodlightcontroller.util.FlowEntry;
-
-import org.codehaus.jackson.annotate.JsonProperty;
-
-/**
- * The class representing the Data Path.
- */
-public class DataPath {
- private SwitchPort srcPort; // The source port
- private SwitchPort dstPort; // The destination port
- private ArrayList<FlowEntry> flowEntries; // The Flow Entries
-
- /**
- * Default constructor.
- */
- public DataPath() {
- srcPort = new SwitchPort();
- dstPort = new SwitchPort();
- flowEntries = new ArrayList<FlowEntry>();
- }
-
- /**
- * Get the data path source port.
- *
- * @return the data path source port.
- */
- @JsonProperty("srcPort")
- public SwitchPort srcPort() { return srcPort; }
-
- /**
- * Set the data path source port.
- *
- * @param srcPort the data path source port to set.
- */
- @JsonProperty("srcPort")
- public void setSrcPort(SwitchPort srcPort) {
- this.srcPort = srcPort;
- }
-
- /**
- * Get the data path destination port.
- *
- * @return the data path destination port.
- */
- @JsonProperty("dstPort")
- public SwitchPort dstPort() { return dstPort; }
-
- /**
- * Set the data path destination port.
- *
- * @param dstPort the data path destination port to set.
- */
- @JsonProperty("dstPort")
- public void setDstPort(SwitchPort dstPort) {
- this.dstPort = dstPort;
- }
-
- /**
- * Get the data path flow entries.
- *
- * @return the data path flow entries.
- */
- @JsonProperty("flowEntries")
- public ArrayList<FlowEntry> flowEntries() { return flowEntries; }
-
- /**
- * Set the data path flow entries.
- *
- * @param flowEntries the data path flow entries to set.
- */
- @JsonProperty("flowEntries")
- public void setFlowEntries(ArrayList<FlowEntry> flowEntries) {
- this.flowEntries = flowEntries;
- }
-
- /**
- * Get a string with the summary of the shortest-path data path
- * computation.
- *
- * NOTE: This method assumes the DataPath was created by
- * using FlowManager::getShortestPath() so the inPort and outPort
- * of the Flow Entries are set.
- * NOTE: This method is a temporary solution and will be removed
- * in the future.
- *
- * @return a string with the summary of the shortest-path
- * data path computation if valid, otherwise the string "X".
- * If the shortest-path was valid, The string has the following form:
- * inPort/dpid/outPort;inPort/dpid/outPort;...
- */
- public String dataPathSummary() {
- String resultStr = new String();
- if (this.flowEntries != null) {
- for (FlowEntry flowEntry : this.flowEntries) {
- // The data path summary string
- resultStr = resultStr +
- flowEntry.inPort().toString() + "/"
- + flowEntry.dpid().toString() + "/" +
- flowEntry.outPort().toString() + ";";
- }
- }
- if (resultStr.isEmpty())
- resultStr = "X"; // Invalid shortest-path
- return resultStr;
- }
-
- /**
- * Convert the data path to a string.
- *
- * The string has the following form:
- * [src=01:01:01:01:01:01:01:01/1111 flowEntry=<entry1> flowEntry=<entry2> flowEntry=<entry3> dst=02:02:02:02:02:02:02:02/2222]
- *
- * @return the data path as a string.
- */
- @Override
- public String toString() {
- String ret = "[src=" + this.srcPort.toString();
-
- for (FlowEntry fe : flowEntries) {
- ret += " flowEntry=" + fe.toString();
- }
- ret += " dst=" + this.dstPort.toString() + "]";
-
- return ret;
- }
-}
diff --git a/src/main/java/net/floodlightcontroller/util/DataPathEndpoints.java b/src/main/java/net/floodlightcontroller/util/DataPathEndpoints.java
deleted file mode 100644
index 3ee88d1..0000000
--- a/src/main/java/net/floodlightcontroller/util/DataPathEndpoints.java
+++ /dev/null
@@ -1,81 +0,0 @@
-package net.floodlightcontroller.util;
-
-import net.floodlightcontroller.util.SwitchPort;
-
-import org.codehaus.jackson.annotate.JsonProperty;
-
-/**
- * The class representing the Data Path Endpoints.
- */
-public class DataPathEndpoints {
- private SwitchPort srcPort; // The source port
- private SwitchPort dstPort; // The destination port
-
- /**
- * Default constructor.
- */
- public DataPathEndpoints() {
- }
-
- /**
- * Constructor for given source and destination ports.
- *
- * @param srcPort the source port to use.
- * @param dstPort the destination port to use.
- */
- public DataPathEndpoints(SwitchPort srcPort, SwitchPort dstPort) {
- this.srcPort = srcPort;
- this.dstPort = dstPort;
- }
-
- /**
- * Get the data path source port.
- *
- * @return the data path source port.
- */
- @JsonProperty("srcPort")
- public SwitchPort srcPort() { return srcPort; }
-
- /**
- * Set the data path source port.
- *
- * @param srcPort the data path source port to set.
- */
- @JsonProperty("srcPort")
- public void setSrcPort(SwitchPort srcPort) {
- this.srcPort = srcPort;
- }
-
- /**
- * Get the data path destination port.
- *
- * @return the data path destination port.
- */
- @JsonProperty("dstPort")
- public SwitchPort dstPort() { return dstPort; }
-
- /**
- * Set the data path destination port.
- *
- * @param dstPort the data path destination port to set.
- */
- @JsonProperty("dstPort")
- public void setDstPort(SwitchPort dstPort) {
- this.dstPort = dstPort;
- }
-
- /**
- * Convert the data path endpoints to a string.
- *
- * The string has the following form:
- * [src=01:01:01:01:01:01:01:01/1111 dst=02:02:02:02:02:02:02:02/2222]
- *
- * @return the data path endpoints as a string.
- */
- @Override
- public String toString() {
- String ret = "[src=" + this.srcPort.toString() +
- " dst=" + this.dstPort.toString() + "]";
- return ret;
- }
-}
diff --git a/src/main/java/net/floodlightcontroller/util/Dpid.java b/src/main/java/net/floodlightcontroller/util/Dpid.java
deleted file mode 100644
index 5af6bea..0000000
--- a/src/main/java/net/floodlightcontroller/util/Dpid.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package net.floodlightcontroller.util;
-
-import org.openflow.util.HexString;
-import net.floodlightcontroller.util.serializers.DpidDeserializer;
-import net.floodlightcontroller.util.serializers.DpidSerializer;
-
-import org.codehaus.jackson.annotate.JsonProperty;
-import org.codehaus.jackson.map.annotate.JsonDeserialize;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
-
-/**
- * The class representing a network switch DPID.
- */
-@JsonDeserialize(using=DpidDeserializer.class)
-@JsonSerialize(using=DpidSerializer.class)
-public class Dpid {
- static public long UNKNOWN = 0;
-
- private long value;
-
- /**
- * Default constructor.
- */
- public Dpid() {
- this.value = Dpid.UNKNOWN;
- }
-
- /**
- * Constructor from a long value.
- *
- * @param value the value to use.
- */
- public Dpid(long value) {
- this.value = value;
- }
-
- /**
- * Constructor from a string.
- *
- * @param value the value to use.
- */
- public Dpid(String value) {
- this.value = HexString.toLong(value);
- }
-
- /**
- * Get the value of the DPID.
- *
- * @return the value of the DPID.
- */
- public long value() { return value; }
-
- /**
- * Set the value of the DPID.
- *
- * @param value the value to set.
- */
- public void setValue(long value) {
- this.value = value;
- }
-
- /**
- * Convert the DPID value to a ':' separated hexadecimal string.
- *
- * @return the DPID value as a ':' separated hexadecimal string.
- */
- @Override
- public String toString() {
- return HexString.toHexString(this.value);
- }
-}
diff --git a/src/main/java/net/floodlightcontroller/util/FlowEntry.java b/src/main/java/net/floodlightcontroller/util/FlowEntry.java
deleted file mode 100644
index 21f3a9e..0000000
--- a/src/main/java/net/floodlightcontroller/util/FlowEntry.java
+++ /dev/null
@@ -1,357 +0,0 @@
-package net.floodlightcontroller.util;
-
-import java.util.ArrayList;
-
-import net.floodlightcontroller.util.Dpid;
-import net.floodlightcontroller.util.FlowEntryAction;
-import net.floodlightcontroller.util.FlowEntryErrorState;
-import net.floodlightcontroller.util.FlowEntryId;
-import net.floodlightcontroller.util.FlowEntryMatch;
-import net.floodlightcontroller.util.FlowEntrySwitchState;
-import net.floodlightcontroller.util.FlowEntryUserState;
-import net.floodlightcontroller.util.Port;
-
-import net.floodlightcontroller.util.MACAddress;
-import net.floodlightcontroller.util.IPv4;
-
-import org.codehaus.jackson.annotate.JsonIgnore;
-import org.codehaus.jackson.annotate.JsonProperty;
-
-/**
- * The class representing the Flow Entry.
- *
- * NOTE: The specification is incomplete. E.g., the entry needs to
- * support multiple in-ports and multiple out-ports.
- */
-public class FlowEntry {
- private FlowId flowId; // FlowID of flowEntry
- private FlowEntryId flowEntryId; // The Flow Entry ID
- private FlowEntryMatch flowEntryMatch; // The Flow Entry Match
- private ArrayList<FlowEntryAction> flowEntryActions; // The Flow Entry Actions
- private Dpid dpid; // The Switch DPID
- private Port inPort; // The Switch incoming port. Used only
- // when the entry is used to return
- // Shortest Path computation.
- private Port outPort; // The Switch outgoing port. Used only
- // when the entry is used to return
- // Shortest Path computation.
- private FlowEntryUserState flowEntryUserState; // The Flow Entry User state
- private FlowEntrySwitchState flowEntrySwitchState; // The Flow Entry Switch state
- // The Flow Entry Error state (if FlowEntrySwitchState is FE_SWITCH_FAILED)
- private FlowEntryErrorState flowEntryErrorState;
-
- /**
- * Default constructor.
- */
- public FlowEntry() {
- // TODO: Test code
- /*
- MACAddress mac = MACAddress.valueOf("01:02:03:04:05:06");
- IPv4 ipv4 = new IPv4("1.2.3.4");
- IPv4Net ipv4net = new IPv4Net("5.6.7.0/24");
-
- flowEntryMatch = new FlowEntryMatch();
- flowEntryMatch.enableInPort(new Port((short)10));
- flowEntryMatch.enableSrcMac(mac);
- flowEntryMatch.enableDstMac(mac);
- flowEntryMatch.enableVlanId((short)20);
- flowEntryMatch.enableVlanPriority((byte)30);
- flowEntryMatch.enableEthernetFrameType((short)40);
- flowEntryMatch.enableIpToS((byte)50);
- flowEntryMatch.enableIpProto((byte)60);
- flowEntryMatch.enableSrcIPv4Net(ipv4net);
- flowEntryMatch.enableDstIPv4Net(ipv4net);
- flowEntryMatch.enableSrcTcpUdpPort((short)70);
- flowEntryMatch.enableDstTcpUdpPort((short)80);
-
- FlowEntryAction action = null;
- ArrayList<FlowEntryAction> actions = new ArrayList<FlowEntryAction>();
-
- action = new FlowEntryAction();
- action.setActionOutput(new Port((short)12));
- actions.add(action);
-
- action = new FlowEntryAction();
- action.setActionOutputToController((short)13);
- actions.add(action);
-
- action = new FlowEntryAction();
- action.setActionSetVlanId((short)14);
- actions.add(action);
-
- action = new FlowEntryAction();
- action.setActionSetVlanPriority((byte)15);
- actions.add(action);
-
- action = new FlowEntryAction();
- action.setActionStripVlan(true);
- actions.add(action);
-
- action = new FlowEntryAction();
- action.setActionSetEthernetSrcAddr(mac);
- actions.add(action);
-
- action = new FlowEntryAction();
- action.setActionSetEthernetDstAddr(mac);
- actions.add(action);
-
- action = new FlowEntryAction();
- action.setActionSetIPv4SrcAddr(ipv4);
- actions.add(action);
-
- action = new FlowEntryAction();
- action.setActionSetIPv4DstAddr(ipv4);
- actions.add(action);
-
- action = new FlowEntryAction();
- action.setActionSetIpToS((byte)16);
- actions.add(action);
-
- action = new FlowEntryAction();
- action.setActionSetTcpUdpSrcPort((short)17);
- actions.add(action);
-
- action = new FlowEntryAction();
- action.setActionSetTcpUdpDstPort((short)18);
- actions.add(action);
-
- action = new FlowEntryAction();
- action.setActionEnqueue(new Port((short)19), 20);
- actions.add(action);
-
- setFlowEntryActions(actions);
- */
-
-
- flowEntryUserState = FlowEntryUserState.FE_USER_UNKNOWN;
- flowEntrySwitchState = FlowEntrySwitchState.FE_SWITCH_UNKNOWN;
- }
-
- /**
- * Get the Flow ID.
- * @return the Flow ID.
- */
- @JsonIgnore
- public FlowId getFlowId() { return flowId; }
-
- /**
- * Set the Flow ID.
- *
- * @param flowId the Flow ID to set.
- */
- public void setFlowId(FlowId flowId) {
- this.flowId = flowId;
- }
-
- /**
- * Get the Flow Entry ID.
- *
- * @return the Flow Entry ID.
- */
- @JsonProperty("flowEntryId")
- public FlowEntryId flowEntryId() { return flowEntryId; }
-
- /**
- * Set the Flow Entry ID.
- *
- * @param flowEntryId the Flow Entry ID to set.
- */
- @JsonProperty("flowEntryId")
- public void setFlowEntryId(FlowEntryId flowEntryId) {
- this.flowEntryId = flowEntryId;
- }
-
- /**
- * Get the Flow Entry Match.
- *
- * @return the Flow Entry Match.
- */
- @JsonProperty("flowEntryMatch")
- public FlowEntryMatch flowEntryMatch() { return flowEntryMatch; }
-
- /**
- * Set the Flow Entry Match.
- *
- * @param flowEntryMatch the Flow Entry Match to set.
- */
- @JsonProperty("flowEntryMatch")
- public void setFlowEntryMatch(FlowEntryMatch flowEntryMatch) {
- this.flowEntryMatch = flowEntryMatch;
- }
-
- /**
- * Get the Flow Entry Actions.
- *
- * @return the Flow Entry Actions.
- */
- @JsonProperty("flowEntryActions")
- public ArrayList<FlowEntryAction> flowEntryActions() {
- return flowEntryActions;
- }
-
- /**
- * Set the Flow Entry Actions.
- *
- * @param flowEntryActions the Flow Entry Actions to set.
- */
- @JsonProperty("flowEntryActions")
- public void setFlowEntryActions(ArrayList<FlowEntryAction> flowEntryActions) {
- this.flowEntryActions = flowEntryActions;
- }
-
- /**
- * Get the Switch DPID.
- *
- * @return the Switch DPID.
- */
- @JsonProperty("dpid")
- public Dpid dpid() { return dpid; }
-
- /**
- * Set the Switch DPID.
- *
- * @param dpid the Switch DPID to set.
- */
- @JsonProperty("dpid")
- public void setDpid(Dpid dpid) {
- this.dpid = dpid;
- }
-
- /**
- * Get the Switch incoming port.
- *
- * Used only when the entry is used to return Shortest Path computation.
- *
- * @return the Switch incoming port.
- */
- @JsonProperty("inPort")
- public Port inPort() { return inPort; }
-
- /**
- * Set the Switch incoming port.
- *
- * Used only when the entry is used to return Shortest Path computation.
- *
- * @param inPort the Switch incoming port to set.
- */
- @JsonProperty("inPort")
- public void setInPort(Port inPort) {
- this.inPort = inPort;
- }
-
- /**
- * Get the Switch outgoing port.
- *
- * Used only when the entry is used to return Shortest Path computation.
- *
- * @return the Switch outgoing port.
- */
- @JsonProperty("outPort")
- public Port outPort() { return outPort; }
-
- /**
- * Set the Switch outgoing port.
- *
- * Used only when the entry is used to return Shortest Path computation.
- *
- * @param outPort the Switch outgoing port to set.
- */
- @JsonProperty("outPort")
- public void setOutPort(Port outPort) {
- this.outPort = outPort;
- }
-
- /**
- * Get the Flow Entry User state.
- *
- * @return the Flow Entry User state.
- */
- @JsonProperty("flowEntryUserState")
- public FlowEntryUserState flowEntryUserState() {
- return flowEntryUserState;
- }
-
- /**
- * Set the Flow Entry User state.
- *
- * @param flowEntryUserState the Flow Entry User state to set.
- */
- @JsonProperty("flowEntryUserState")
- public void setFlowEntryUserState(FlowEntryUserState flowEntryUserState) {
- this.flowEntryUserState = flowEntryUserState;
- }
-
- /**
- * Get the Flow Entry Switch state.
- *
- * The Flow Entry Error state is used if FlowEntrySwitchState is
- * FE_SWITCH_FAILED.
- *
- * @return the Flow Entry Switch state.
- */
- @JsonProperty("flowEntrySwitchState")
- public FlowEntrySwitchState flowEntrySwitchState() {
- return flowEntrySwitchState;
- }
-
- /**
- * Set the Flow Entry Switch state.
- *
- * The Flow Entry Error state is used if FlowEntrySwitchState is
- * FE_SWITCH_FAILED.
- *
- * @param flowEntrySwitchState the Flow Entry Switch state to set.
- */
- @JsonProperty("flowEntrySwitchState")
- public void setFlowEntrySwitchState(FlowEntrySwitchState flowEntrySwitchState) {
- this.flowEntrySwitchState = flowEntrySwitchState;
- }
-
- /**
- * Get the Flow Entry Error state.
- *
- * @return the Flow Entry Error state.
- */
- @JsonProperty("flowEntryErrorState")
- public FlowEntryErrorState flowEntryErrorState() {
- return flowEntryErrorState;
- }
-
- /**
- * Set the Flow Entry Error state.
- *
- * @param flowEntryErrorState the Flow Entry Error state to set.
- */
- @JsonProperty("flowEntryErrorState")
- public void setFlowEntryErrorState(FlowEntryErrorState flowEntryErrorState) {
- this.flowEntryErrorState = flowEntryErrorState;
- }
-
- /**
- * Convert the flow entry to a string.
- *
- * The string has the following form:
- * [flowEntryId=XXX flowEntryMatch=XXX flowEntryAction=XXX
- * flowEntryAction=XXX flowEntryAction=XXX dpid=XXX
- * inPort=XXX outPort=XXX flowEntryUserState=XXX flowEntrySwitchState=XXX
- * flowEntryErrorState=XXX]
- * @return the flow entry as a string.
- */
- @Override
- public String toString() {
- String ret = "[flowEntryId=" + this.flowEntryId.toString();
- ret += " flowEntryMatch=" + this.flowEntryMatch.toString();
- for (FlowEntryAction fa : flowEntryActions) {
- ret += " flowEntryAction=" + fa.toString();
- }
- ret += " dpid=" + this.dpid.toString();
- ret += " inPort=" + this.inPort.toString();
- ret += " outPort=" + this.outPort.toString();
- ret += " flowEntryUserState=" + this.flowEntryUserState;
- ret += " flowEntrySwitchState=" + this.flowEntrySwitchState;
- ret += " flowEntryErrorState=" + this.flowEntryErrorState.toString();
- ret += "]";
-
- return ret;
- }
-}
diff --git a/src/main/java/net/floodlightcontroller/util/FlowEntryAction.java b/src/main/java/net/floodlightcontroller/util/FlowEntryAction.java
deleted file mode 100644
index 1fc1783..0000000
--- a/src/main/java/net/floodlightcontroller/util/FlowEntryAction.java
+++ /dev/null
@@ -1,1015 +0,0 @@
-package net.floodlightcontroller.util;
-
-import net.floodlightcontroller.util.IPv4;
-import net.floodlightcontroller.util.MACAddress;
-import net.floodlightcontroller.util.Port;
-
-import org.codehaus.jackson.annotate.JsonProperty;
-
-/**
- * The class representing a single Flow Entry action.
- *
- * A set of Flow Entry actions need to be applied to each packet.
- */
-public class FlowEntryAction {
- /**
- * Special action values.
- *
- * Those values are taken as-is from the OpenFlow-v1.0.0 specification
- * (pp 21-22).
- */
- public enum ActionValues {
- ACTION_OUTPUT ((short)0x0), // Output to switch port
- ACTION_SET_VLAN_VID ((short)0x1), // Set the 802.1q VLAN id
- ACTION_SET_VLAN_PCP ((short)0x2), // Set the 802.1q priority
- ACTION_STRIP_VLAN ((short)0x3), // Strip the 802.1q header
- ACTION_SET_DL_SRC ((short)0x4), // Ethernet source address
- ACTION_SET_DL_DST ((short)0x5), // Ethernet destination address
- ACTION_SET_NW_SRC ((short)0x6), // IP source address
- ACTION_SET_NW_DST ((short)0x7), // IP destination address
- ACTION_SET_NW_TOS ((short)0x8), // IP ToS (DSCP field, 6 bits)
- ACTION_SET_TP_SRC ((short)0x9), // TCP/UDP source port
- ACTION_SET_TP_DST ((short)0xa), // TCP/UDP destination port
- ACTION_ENQUEUE ((short)0xb), // Output to queue on port
- ACTION_VENDOR ((short)0xffff); // Vendor-specific
-
- private final short value; // The value
-
- /**
- * Constructor for a given value.
- *
- * @param value the value to use for the initialization.
- */
- private ActionValues(short value) {
- this.value = value;
- }
- }
-
- /**
- * Action structure for ACTION_OUTPUT: Output to switch port.
- */
- public class ActionOutput {
- private Port port; // Output port
- private short maxLen; // Max. length (in bytes) to send to controller
- // if the port is set to PORT_CONTROLLER
-
- /**
- * Default constructor.
- */
- public ActionOutput() {
- this.port = null;
- this.maxLen = 0;
- }
-
-
- /**
- * Constructor for a given output port and maximum length.
- *
- * @param port the output port to set.
- * @param maxLen the maximum length (in bytes) to send to controller
- * if the port is set to PORT_CONTROLLER.
- */
- public ActionOutput(Port port, short maxLen) {
- this.port = port;
- this.maxLen = maxLen;
- }
-
- /**
- * Constructor for a given output port.
- *
- * @param port the output port to set.
- */
- public ActionOutput(Port port) {
- this.port = port;
- this.maxLen = 0;
- }
-
- /**
- * Get the output port.
- *
- * @return the output port.
- */
- @JsonProperty("port")
- public Port port() {
- return this.port;
- }
-
- /**
- * Get the maximum length (in bytes) to send to controller if the
- * port is set to PORT_CONTROLLER.
- *
- * @return the maximum length (in bytes) to send to controller if the
- * port is set to PORT_CONTROLLER.
- */
- @JsonProperty("maxLen")
- public short maxLen() {
- return this.maxLen;
- }
-
- /**
- * Convert the action to a string.
- *
- * The string has the following form:
- * [port=XXX maxLen=XXX]
- *
- * @return the action as a string.
- */
- @Override
- public String toString() {
- String ret = "[";
- ret += "port=" + port.toString();
- ret += " maxLen=" + maxLen;
- ret += "]";
-
- return ret;
- }
- }
-
- /**
- * Action structure for ACTION_SET_VLAN_VID: Set the 802.1q VLAN id
- */
- public class ActionSetVlanId {
- private short vlanId; // The VLAN ID to set
-
- /**
- * Default constructor.
- */
- public ActionSetVlanId() {
- this.vlanId = 0;
- }
-
- /**
- * Constructor for a given VLAN ID.
- *
- * @param vlanId the VLAN ID to set.
- */
- public ActionSetVlanId(short vlanId) {
- this.vlanId = vlanId;
- }
-
- /**
- * Get the VLAN ID.
- *
- * @return the VLAN ID.
- */
- @JsonProperty("vlanId")
- public short vlanId() {
- return this.vlanId;
- }
-
- /**
- * Convert the action to a string.
- *
- * The string has the following form:
- * [vlanId=XXX]
- *
- * @return the action as a string.
- */
- @Override
- public String toString() {
- String ret = "[";
- ret += "vlanId=" + this.vlanId;
- ret += "]";
-
- return ret;
- }
- }
-
- /**
- * Action structure for ACTION_SET_VLAN_PCP: Set the 802.1q priority
- */
- public class ActionSetVlanPriority {
- private byte vlanPriority; // The VLAN priority to set
-
- /**
- * Default constructor.
- */
- public ActionSetVlanPriority() {
- this.vlanPriority = 0;
- }
-
- /**
- * Constructor for a given VLAN priority.
- *
- * @param vlanPriority the VLAN priority to set.
- */
- public ActionSetVlanPriority(byte vlanPriority) {
- this.vlanPriority = vlanPriority;
- }
-
- /**
- * Get the VLAN priority.
- *
- * @return the VLAN priority.
- */
- @JsonProperty("vlanPriority")
- public byte vlanPriority() {
- return this.vlanPriority;
- }
-
- /**
- * Convert the action to a string.
- *
- * The string has the following form:
- * [vlanPriority=XXX]
- *
- * @return the action as a string.
- */
- @Override
- public String toString() {
- String ret = "[";
- ret += "vlanPriority=" + this.vlanPriority;
- ret += "]";
-
- return ret;
- }
- }
-
- /**
- * Action structure for ACTION_STRIP_VLAN: Strip the 802.1q header
- */
- public class ActionStripVlan {
- private boolean stripVlan; // If true, strip the VLAN header
-
- /**
- * Default constructor.
- */
- public ActionStripVlan() {
- this.stripVlan = false;
- }
-
- /**
- * Constructor for a given boolean flag.
- *
- * @param stripVlan if true, strip the VLAN header.
- */
- public ActionStripVlan(boolean stripVlan) {
- this.stripVlan = stripVlan;
- }
-
- /**
- * Get the boolean flag whether the VLAN header should be stripped.
- *
- * @return the boolean flag whether the VLAN header should be stripped.
- */
- @JsonProperty("stripVlan")
- public boolean stripVlan() {
- return this.stripVlan;
- }
-
- /**
- * Convert the action to a string.
- *
- * The string has the following form:
- * [stripVlan=XXX]
- *
- * @return the action as a string.
- */
- @Override
- public String toString() {
- String ret = "[";
- ret += "stripVlan=" + this.stripVlan;
- ret += "]";
-
- return ret;
- }
- }
-
- /**
- * Action structure for ACTION_SET_DL_SRC and ACTION_SET_DL_DST:
- * Set the Ethernet source/destination address.
- */
- public class ActionSetEthernetAddr {
- private MACAddress addr; // The MAC address to set
-
- /**
- * Default constructor.
- */
- public ActionSetEthernetAddr() {
- this.addr = null;
- }
-
- /**
- * Constructor for a given MAC address.
- *
- * @param addr the MAC address to set.
- */
- public ActionSetEthernetAddr(MACAddress addr) {
- this.addr = addr;
- }
-
- /**
- * Get the MAC address.
- *
- * @return the MAC address.
- */
- @JsonProperty("addr")
- public MACAddress addr() {
- return this.addr;
- }
-
- /**
- * Convert the action to a string.
- *
- * The string has the following form:
- * [addr=XXX]
- *
- * @return the action as a string.
- */
- @Override
- public String toString() {
- String ret = "[";
- ret += "addr=" + addr.toString();
- ret += "]";
-
- return ret;
- }
- }
-
- /**
- * Action structure for ACTION_SET_NW_SRC and ACTION_SET_NW_DST:
- * Set the IPv4 source/destination address.
- */
- public class ActionSetIPv4Addr {
- private IPv4 addr; // The IPv4 address to set
-
- /**
- * Default constructor.
- */
- public ActionSetIPv4Addr() {
- this.addr = null;
- }
-
- /**
- * Constructor for a given IPv4 address.
- *
- * @param addr the IPv4 address to set.
- */
- public ActionSetIPv4Addr(IPv4 addr) {
- this.addr = addr;
- }
-
- /**
- * Get the IPv4 address.
- *
- * @return the IPv4 address.
- */
- @JsonProperty("addr")
- public IPv4 addr() {
- return this.addr;
- }
-
- /**
- * Convert the action to a string.
- *
- * The string has the following form:
- * [addr=XXX]
- *
- * @return the action as a string.
- */
- @Override
- public String toString() {
- String ret = "[";
- ret += "addr=" + addr.toString();
- ret += "]";
-
- return ret;
- }
- }
-
- /**
- * Action structure for ACTION_SET_NW_TOS:
- * Set the IP ToS (DSCP field, 6 bits).
- */
- public class ActionSetIpToS {
- private byte ipToS; // The IP ToS to set DSCP field, 6 bits)
-
- /**
- * Default constructor.
- */
- public ActionSetIpToS() {
- this.ipToS = 0;
- }
-
- /**
- * Constructor for a given IP ToS (DSCP field, 6 bits).
- *
- * @param ipToS the IP ToS (DSCP field, 6 bits) to set.
- */
- public ActionSetIpToS(byte ipToS) {
- this.ipToS = ipToS;
- }
-
- /**
- * Get the IP ToS (DSCP field, 6 bits).
- *
- * @return the IP ToS (DSCP field, 6 bits).
- */
- @JsonProperty("ipToS")
- public byte ipToS() {
- return this.ipToS;
- }
-
- /**
- * Convert the action to a string.
- *
- * The string has the following form:
- * [ipToS=XXX]
- *
- * @return the action as a string.
- */
- @Override
- public String toString() {
- String ret = "[";
- ret += "ipToS=" + ipToS;
- ret += "]";
-
- return ret;
- }
- }
-
- /**
- * Action structure for ACTION_SET_TP_SRC and ACTION_SET_TP_DST:
- * Set the TCP/UDP source/destination port.
- */
- public class ActionSetTcpUdpPort {
- private short port; // The TCP/UDP port to set
-
- /**
- * Default constructor.
- */
- public ActionSetTcpUdpPort() {
- this.port = 0;
- }
-
- /**
- * Constructor for a given TCP/UDP port.
- *
- * @param port the TCP/UDP port to set.
- */
- public ActionSetTcpUdpPort(short port) {
- this.port = port;
- }
-
- /**
- * Get the TCP/UDP port.
- *
- * @return the TCP/UDP port.
- */
- @JsonProperty("port")
- public short port() {
- return this.port;
- }
-
- /**
- * Convert the action to a string.
- *
- * The string has the following form:
- * [port=XXX]
- *
- * @return the action as a string.
- */
- @Override
- public String toString() {
- String ret = "[";
- ret += "port=" + port;
- ret += "]";
-
- return ret;
- }
- }
-
- /**
- * Action structure for ACTION_ENQUEUE: Output to queue on port.
- */
- public class ActionEnqueue {
- private Port port; // Port that queue belongs. Should
- // refer to a valid physical port
- // (i.e. < PORT_MAX) or PORT_IN_PORT
- private int queueId; // Where to enqueue the packets
-
- /**
- * Default constructor.
- */
- public ActionEnqueue() {
- this.port = null;
- this.queueId = 0;
- }
-
- /**
- * Constructor for a given port and queue ID.
- *
- * @param port the port to set.
- * @param queueId the queue ID on the port.
- */
- public ActionEnqueue(Port port, int queueId) {
- this.port = port;
- this.queueId = queueId;
- }
-
- /**
- * Get the port.
- *
- * @return the port.
- */
- @JsonProperty("port")
- public Port port() {
- return this.port;
- }
-
- /**
- * Get the queue ID.
- *
- * @return the queue ID.
- */
- @JsonProperty("queueId")
- public int queueId() {
- return this.queueId;
- }
-
- /**
- * Convert the action to a string.
- *
- * The string has the following form:
- * [port=XXX queueId=XXX]
- *
- * @return the action as a string.
- */
- @Override
- public String toString() {
- String ret = "[";
- ret += "port=" + port.toString();
- ret += " queueId=" + queueId;
- ret += "]";
-
- return ret;
- }
- }
-
- private ActionValues actionType; // The action type
-
- //
- // The actions.
- // NOTE: Only one action should be set.
- //
- private ActionOutput actionOutput;
- private ActionSetVlanId actionSetVlanId;
- private ActionSetVlanPriority actionSetVlanPriority;
- private ActionStripVlan actionStripVlan;
- private ActionSetEthernetAddr actionSetEthernetSrcAddr;
- private ActionSetEthernetAddr actionSetEthernetDstAddr;
- private ActionSetIPv4Addr actionSetIPv4SrcAddr;
- private ActionSetIPv4Addr actionSetIPv4DstAddr;
- private ActionSetIpToS actionSetIpToS;
- private ActionSetTcpUdpPort actionSetTcpUdpSrcPort;
- private ActionSetTcpUdpPort actionSetTcpUdpDstPort;
- private ActionEnqueue actionEnqueue;
-
- /**
- * Default constructor.
- */
- public FlowEntryAction() {
- actionType = ActionValues.ACTION_VENDOR; // XXX: Initial value
- }
-
- /**
- * Get the action type.
- *
- * @return the action type.
- */
- @JsonProperty("actionType")
- public ActionValues actionType() { return actionType; }
-
- /**
- * Get the output action.
- *
- * @return the output action.
- */
- @JsonProperty("actionOutput")
- public ActionOutput actionOutput() { return actionOutput; }
-
- /**
- * Set the output action on a port.
- *
- * @param action the action to set.
- */
- @JsonProperty("actionOutput")
- public void setActionOutput(ActionOutput action) {
- actionOutput = action;
- actionType = ActionValues.ACTION_OUTPUT;
- }
-
- /**
- * Set the output action on a port.
- *
- * @param port the output port to set.
- */
- public void setActionOutput(Port port) {
- actionOutput = new ActionOutput(port);
- actionType = ActionValues.ACTION_OUTPUT;
- }
-
- /**
- * Set the output action to controller.
- *
- * @param maxLen the maximum length (in bytes) to send to controller.
- */
- public void setActionOutputToController(short maxLen) {
- Port port = new Port(Port.PortValues.PORT_CONTROLLER);
- actionOutput = new ActionOutput(port, maxLen);
- actionType = ActionValues.ACTION_OUTPUT;
- }
-
- /**
- * Get the action to set the VLAN ID.
- *
- * @return the action to set the VLAN ID.
- */
- @JsonProperty("actionSetVlanId")
- public ActionSetVlanId actionSetVlanId() { return actionSetVlanId; }
-
- /**
- * Set the action to set the VLAN ID.
- *
- * @param action the action to set.
- */
- @JsonProperty("actionSetVlanId")
- public void setActionSetVlanId(ActionSetVlanId action) {
- actionSetVlanId = action;
- actionType = ActionValues.ACTION_SET_VLAN_VID;
- }
-
- /**
- * Set the action to set the VLAN ID.
- *
- * @param vlanId the VLAN ID to set.
- */
- public void setActionSetVlanId(short vlanId) {
- actionSetVlanId = new ActionSetVlanId(vlanId);
- actionType = ActionValues.ACTION_SET_VLAN_VID;
- }
-
- /**
- * Get the action to set the VLAN priority.
- *
- * @return the action to set the VLAN priority.
- */
- @JsonProperty("actionSetVlanPriority")
- public ActionSetVlanPriority actionSetVlanPriority() {
- return actionSetVlanPriority;
- }
-
- /**
- * Set the action to set the VLAN priority.
- *
- * @param action the action to set.
- */
- @JsonProperty("actionSetVlanPriority")
- public void setActionSetVlanPriority(ActionSetVlanPriority action) {
- actionSetVlanPriority = action;
- actionType = ActionValues.ACTION_SET_VLAN_PCP;
- }
-
- /**
- * Set the action to set the VLAN priority.
- *
- * @param vlanPriority the VLAN priority to set.
- */
- public void setActionSetVlanPriority(byte vlanPriority) {
- actionSetVlanPriority = new ActionSetVlanPriority(vlanPriority);
- actionType = ActionValues.ACTION_SET_VLAN_PCP;
- }
-
- /**
- * Get the action to strip the VLAN header.
- *
- * @return the action to strip the VLAN header.
- */
- @JsonProperty("actionStripVlan")
- public ActionStripVlan actionStripVlan() {
- return actionStripVlan;
- }
-
- /**
- * Set the action to strip the VLAN header.
- *
- * @param action the action to set.
- */
- @JsonProperty("actionStripVlan")
- public void setActionStripVlan(ActionStripVlan action) {
- actionStripVlan = action;
- actionType = ActionValues.ACTION_STRIP_VLAN;
- }
-
- /**
- * Set the action to strip the VLAN header.
- *
- * @param stripVlan if true, strip the VLAN header.
- */
- public void setActionStripVlan(boolean stripVlan) {
- actionStripVlan = new ActionStripVlan(stripVlan);
- actionType = ActionValues.ACTION_STRIP_VLAN;
- }
-
- /**
- * Get the action to set the Ethernet source address.
- *
- * @return the action to set the Ethernet source address.
- */
- @JsonProperty("actionSetEthernetSrcAddr")
- public ActionSetEthernetAddr actionSetEthernetSrcAddr() {
- return actionSetEthernetSrcAddr;
- }
-
- /**
- * Set the action to set the Ethernet source address.
- *
- * @param action the action to set.
- */
- @JsonProperty("actionSetEthernetSrcAddr")
- public void setActionSetEthernetSrcAddr(ActionSetEthernetAddr action) {
- actionSetEthernetSrcAddr = action;
- actionType = ActionValues.ACTION_SET_DL_SRC;
- }
-
- /**
- * Set the action to set the Ethernet source address.
- *
- * @param addr the MAC address to set as the Ethernet source address.
- */
- public void setActionSetEthernetSrcAddr(MACAddress addr) {
- actionSetEthernetSrcAddr = new ActionSetEthernetAddr(addr);
- actionType = ActionValues.ACTION_SET_DL_SRC;
- }
-
- /**
- * Get the action to set the Ethernet destination address.
- *
- * @return the action to set the Ethernet destination address.
- */
- @JsonProperty("actionSetEthernetDstAddr")
- public ActionSetEthernetAddr actionSetEthernetDstAddr() {
- return actionSetEthernetDstAddr;
- }
-
- /**
- * Set the action to set the Ethernet destination address.
- *
- * @param action the action to set.
- */
- @JsonProperty("actionSetEthernetDstAddr")
- public void setActionSetEthernetDstAddr(ActionSetEthernetAddr action) {
- actionSetEthernetDstAddr = action;
- actionType = ActionValues.ACTION_SET_DL_DST;
- }
-
- /**
- * Set the action to set the Ethernet destination address.
- *
- * @param addr the MAC address to set as the Ethernet destination address.
- */
- public void setActionSetEthernetDstAddr(MACAddress addr) {
- actionSetEthernetDstAddr = new ActionSetEthernetAddr(addr);
- actionType = ActionValues.ACTION_SET_DL_DST;
- }
-
- /**
- * Get the action to set the IPv4 source address.
- *
- * @return the action to set the IPv4 source address.
- */
- @JsonProperty("actionSetIPv4SrcAddr")
- public ActionSetIPv4Addr actionSetIPv4SrcAddr() {
- return actionSetIPv4SrcAddr;
- }
-
- /**
- * Set the action to set the IPv4 source address.
- *
- * @param action the action to set.
- */
- @JsonProperty("actionSetIPv4SrcAddr")
- public void setActionSetIPv4SrcAddr(ActionSetIPv4Addr action) {
- actionSetIPv4SrcAddr = action;
- actionType = ActionValues.ACTION_SET_NW_SRC;
- }
-
- /**
- * Set the action to set the IPv4 source address.
- *
- * @param addr the IPv4 address to set as the IPv4 source address.
- */
- public void setActionSetIPv4SrcAddr(IPv4 addr) {
- actionSetIPv4SrcAddr = new ActionSetIPv4Addr(addr);
- actionType = ActionValues.ACTION_SET_NW_SRC;
- }
-
- /**
- * Get the action to set the IPv4 destination address.
- *
- * @return the action to set the IPv4 destination address.
- */
- @JsonProperty("actionSetIPv4DstAddr")
- public ActionSetIPv4Addr actionSetIPv4DstAddr() {
- return actionSetIPv4DstAddr;
- }
-
- /**
- * Set the action to set the IPv4 destination address.
- *
- * @param action the action to set.
- */
- @JsonProperty("actionSetIPv4DstAddr")
- public void setActionSetIPv4DstAddr(ActionSetIPv4Addr action) {
- actionSetIPv4DstAddr = action;
- actionType = ActionValues.ACTION_SET_NW_DST;
- }
-
- /**
- * Set the action to set the IPv4 destination address.
- *
- * @param addr the IPv4 address to set as the IPv4 destination address.
- */
- public void setActionSetIPv4DstAddr(IPv4 addr) {
- actionSetIPv4DstAddr = new ActionSetIPv4Addr(addr);
- actionType = ActionValues.ACTION_SET_NW_DST;
- }
-
- /**
- * Get the action to set the IP ToS (DSCP field, 6 bits).
- *
- * @return the action to set the IP ToS (DSCP field, 6 bits).
- */
- @JsonProperty("actionSetIpToS")
- public ActionSetIpToS actionSetIpToS() {
- return actionSetIpToS;
- }
-
- /**
- * Set the action to set the IP ToS (DSCP field, 6 bits).
- *
- * @param action the action to set.
- */
- @JsonProperty("actionSetIpToS")
- public void setActionSetIpToS(ActionSetIpToS action) {
- actionSetIpToS = action;
- actionType = ActionValues.ACTION_SET_NW_TOS;
- }
-
- /**
- * Set the action to set the IP ToS (DSCP field, 6 bits).
- *
- * @param ipToS the IP ToS (DSCP field, 6 bits) to set.
- */
- public void setActionSetIpToS(byte ipToS) {
- actionSetIpToS = new ActionSetIpToS(ipToS);
- actionType = ActionValues.ACTION_SET_NW_TOS;
- }
-
- /**
- * Get the action to set the TCP/UDP source port.
- *
- * @return the action to set the TCP/UDP source port.
- */
- @JsonProperty("actionSetTcpUdpSrcPort")
- public ActionSetTcpUdpPort actionSetTcpUdpSrcPort() {
- return actionSetTcpUdpSrcPort;
- }
-
- /**
- * Set the action to set the TCP/UDP source port.
- *
- * @param action the action to set.
- */
- @JsonProperty("actionSetTcpUdpSrcPort")
- public void setActionSetTcpUdpSrcPort(ActionSetTcpUdpPort action) {
- actionSetTcpUdpSrcPort = action;
- actionType = ActionValues.ACTION_SET_TP_SRC;
- }
-
- /**
- * Set the action to set the TCP/UDP source port.
- *
- * @param port the TCP/UDP port to set as the TCP/UDP source port.
- */
- public void setActionSetTcpUdpSrcPort(short port) {
- actionSetTcpUdpSrcPort = new ActionSetTcpUdpPort(port);
- actionType = ActionValues.ACTION_SET_TP_SRC;
- }
-
- /**
- * Get the action to set the TCP/UDP destination port.
- *
- * @return the action to set the TCP/UDP destination port.
- */
- @JsonProperty("actionSetTcpUdpDstPort")
- public ActionSetTcpUdpPort actionSetTcpUdpDstPort() {
- return actionSetTcpUdpDstPort;
- }
-
- /**
- * Set the action to set the TCP/UDP destination port.
- *
- * @param action the action to set.
- */
- @JsonProperty("actionSetTcpUdpDstPort")
- public void setActionSetTcpUdpDstPort(ActionSetTcpUdpPort action) {
- actionSetTcpUdpDstPort = action;
- actionType = ActionValues.ACTION_SET_TP_DST;
- }
-
- /**
- * Set the action to set the TCP/UDP destination port.
- *
- * @param port the TCP/UDP port to set as the TCP/UDP destination port.
- */
- public void setActionSetTcpUdpDstPort(short port) {
- actionSetTcpUdpDstPort = new ActionSetTcpUdpPort(port);
- actionType = ActionValues.ACTION_SET_TP_DST;
- }
-
- /**
- * Get the action to output to queue on a port.
- *
- * @return the action to output to queue on a port.
- */
- @JsonProperty("actionEnqueue")
- public ActionEnqueue actionEnqueue() { return actionEnqueue; }
-
- /**
- * Set the action to output to queue on a port.
- *
- * @param action the action to set.
- */
- @JsonProperty("actionEnqueue")
- public void setActionEnqueue(ActionEnqueue action) {
- actionEnqueue = action;
- actionType = ActionValues.ACTION_ENQUEUE;
- }
-
- /**
- * Set the action to output to queue on a port.
- *
- * @param port the port to set.
- * @param int queueId the queue ID to set.
- */
- public void setActionEnqueue(Port port, int queueId) {
- actionEnqueue = new ActionEnqueue(port, queueId);
- actionType = ActionValues.ACTION_ENQUEUE;
- }
-
- /**
- * Convert the set of actions to a string.
- *
- * The string has the following form:
- * [type=XXX action=XXX]
- *
- * @return the set of actions as a string.
- */
- @Override
- public String toString() {
- String ret = "[";
- ret += "type=" + actionType;
- switch (actionType) {
- case ACTION_OUTPUT:
- ret += " action=" + actionOutput.toString();
- break;
- case ACTION_SET_VLAN_VID:
- ret += " action=" + actionSetVlanId.toString();
- break;
- case ACTION_SET_VLAN_PCP:
- ret += " action=" + actionSetVlanPriority.toString();
- break;
- case ACTION_STRIP_VLAN:
- ret += " action=" + actionStripVlan.toString();
- break;
- case ACTION_SET_DL_SRC:
- ret += " action=" + actionSetEthernetSrcAddr.toString();
- break;
- case ACTION_SET_DL_DST:
- ret += " action=" + actionSetEthernetDstAddr.toString();
- break;
- case ACTION_SET_NW_SRC:
- ret += " action=" + actionSetIPv4SrcAddr.toString();
- break;
- case ACTION_SET_NW_DST:
- ret += " action=" + actionSetIPv4DstAddr.toString();
- break;
- case ACTION_SET_NW_TOS:
- ret += " action=" + actionSetIpToS.toString();
- break;
- case ACTION_SET_TP_SRC:
- ret += " action=" + actionSetTcpUdpSrcPort.toString();
- break;
- case ACTION_SET_TP_DST:
- ret += " action=" + actionSetTcpUdpDstPort.toString();
- break;
- case ACTION_ENQUEUE:
- ret += " action=" + actionEnqueue.toString();
- break;
- }
- ret += "]";
-
- return ret;
- }
-}
diff --git a/src/main/java/net/floodlightcontroller/util/FlowEntryErrorState.java b/src/main/java/net/floodlightcontroller/util/FlowEntryErrorState.java
deleted file mode 100644
index bf1708d..0000000
--- a/src/main/java/net/floodlightcontroller/util/FlowEntryErrorState.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package net.floodlightcontroller.util;
-
-import org.codehaus.jackson.annotate.JsonProperty;
-
-/**
- * The class representing the Flow Entry error state.
- */
-public class FlowEntryErrorState {
- private short type; // The error type (e.g., see OF-1.3.1 spec, pp. 95)
- private short code; // The error code (e.g., see OF-1.3.1 spec, pp. 95)
-
- /**
- * Default constructor.
- */
- public FlowEntryErrorState() {
- this.type = 0;
- this.code = 0;
- }
-
- /**
- * Constructor for a given error type and code.
- *
- * @param type the error type to use.
- * @param code the error code to use.
- */
- public FlowEntryErrorState(short type, short code) {
- this.type = type;
- this.code = code;
- }
-
- /**
- * Get the error type.
- *
- * @return the error type.
- */
- @JsonProperty("type")
- public short type() { return type; }
-
- /**
- * Set the error type.
- *
- * @param type the error type to use.
- */
- @JsonProperty("type")
- public void setType(short type) {
- this.type = type;
- }
-
- /**
- * Get the error code.
- *
- * @return the error code.
- */
- @JsonProperty("code")
- public short code() { return code; }
-
- /**
- * Set the error code.
- *
- * @param code the error code to use.
- */
- @JsonProperty("code")
- public void setCode(short code) {
- this.code = code;
- }
-
- /**
- * Set the values of the error type and code.
- *
- * @param type the error type to use.
- * @param code the error code to use.
- */
- public void setValue(short type, short code) {
- this.type = type;
- this.code = code;
- }
-
- /**
- * Convert the error type and code to a string.
- *
- * The string has the following form:
- * [type=1 code=2]
- *
- * @return the error type and code as a string.
- */
- @Override
- public String toString() {
- String ret = "[type=" + this.type + " code=" + code + "]";
- return ret;
- }
-}
diff --git a/src/main/java/net/floodlightcontroller/util/FlowEntryId.java b/src/main/java/net/floodlightcontroller/util/FlowEntryId.java
deleted file mode 100644
index e146a3d..0000000
--- a/src/main/java/net/floodlightcontroller/util/FlowEntryId.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package net.floodlightcontroller.util;
-
-import java.math.BigInteger;
-
-import net.floodlightcontroller.util.serializers.FlowEntryIdDeserializer;
-import net.floodlightcontroller.util.serializers.FlowEntryIdSerializer;
-
-import org.codehaus.jackson.annotate.JsonProperty;
-import org.codehaus.jackson.map.annotate.JsonDeserialize;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
-
-/**
- * The class representing a Flow Entry ID.
- */
-@JsonDeserialize(using=FlowEntryIdDeserializer.class)
-@JsonSerialize(using=FlowEntryIdSerializer.class)
-public class FlowEntryId {
- private long value;
-
- /**
- * Default constructor.
- */
- public FlowEntryId() {
- this.value = 0;
- }
-
- /**
- * Constructor from an integer value.
- *
- * @param value the value to use.
- */
- public FlowEntryId(long value) {
- this.value = value;
- }
-
- /**
- * Constructor from a string.
- *
- * @param value the value to use.
- */
- public FlowEntryId(String value) {
- //
- // Use the help of BigInteger to parse strings representing
- // large unsigned hex long values.
- //
- char c = 0;
- if (value.length() > 2)
- c = value.charAt(1);
- if ((c == 'x') || (c == 'X'))
- this.value = new BigInteger(value.substring(2), 16).longValue();
- else
- this.value = Long.decode(value);
- }
-
- /**
- * Get the value of the Flow Entry ID.
- *
- * @return the value of the Flow Entry ID.
- */
- public long value() { return value; }
-
- /**
- * Set the value of the Flow Entry ID.
- *
- * @param value the value to set.
- */
- public void setValue(long value) {
- this.value = value;
- }
-
- /**
- * Convert the Flow Entry ID value to a hexadecimal string.
- *
- * @return the Flow Entry ID value to a hexadecimal string.
- */
- @Override
- public String toString() {
- return "0x" + Long.toHexString(this.value);
- }
-}
diff --git a/src/main/java/net/floodlightcontroller/util/FlowEntryMatch.java b/src/main/java/net/floodlightcontroller/util/FlowEntryMatch.java
deleted file mode 100644
index 6c8e71e..0000000
--- a/src/main/java/net/floodlightcontroller/util/FlowEntryMatch.java
+++ /dev/null
@@ -1,712 +0,0 @@
-package net.floodlightcontroller.util;
-
-import net.floodlightcontroller.util.MACAddress;
-import net.floodlightcontroller.util.IPv4Net;
-
-import org.codehaus.jackson.annotate.JsonProperty;
-
-/**
- * The class representing the Flow Entry Matching filter.
- *
- * The Flow Entry matching filter that is used to specify
- * the network data that would be forwarded on the data path from
- * the source to the destination. Examples: source or destination MAC address,
- * IP prefix that includes the destination's IP address, etc.
- */
-public class FlowEntryMatch {
- /**
- * A class for storing a value to match.
- */
- class Field<T> {
- /**
- * Default constructor.
- */
- public Field() {
- this.enabled = false;
- }
-
- /**
- * Constructor for a given value to match.
- *
- * @param value the value to match.
- */
- public Field(T value) {
- this.value = value;
- this.enabled = true;
- }
-
- /**
- * Get the value.
- *
- * @return the value.
- */
- public T value() { return this.value; }
-
- /**
- * Enable the matching for a given value.
- *
- * @param value the value to set.
- */
- public void enableMatch(T value) {
- this.value = value;
- this.enabled = true;
- }
-
- /**
- * Disable the matching.
- */
- public void disableMatch() {
- this.enabled = false;
- }
-
- /**
- * Test whether matching is enabled.
- *
- * @return true if matching is enabled, otherwise false.
- */
- public boolean enabled() { return this.enabled; }
-
- private T value; // The value to match
- private boolean enabled; // Set to true, if matching is enabled
- }
-
- private Field<Port> inPort; // Matching input switch port
- private Field<MACAddress> srcMac; // Matching source MAC address
- private Field<MACAddress> dstMac; // Matching destination MAC address
- private Field<Short> vlanId; // Matching VLAN ID
- private Field<Byte> vlanPriority; // Matching VLAN priority
- private Field<Short> ethernetFrameType; // Matching Ethernet frame type
- private Field<Byte> ipToS; // Matching IP ToS (DSCP field, 6 bits)
- private Field<Byte> ipProto; // Matching IP protocol
- private Field<IPv4Net> srcIPv4Net; // Matching source IPv4 prefix
- private Field<IPv4Net> dstIPv4Net; // Matching destination IPv4 prefix
- private Field<Short> srcTcpUdpPort; // Matching source TCP/UDP port
- private Field<Short> dstTcpUdpPort; // Matching destination TCP/UDP port
-
- /**
- * Default constructor.
- */
- public FlowEntryMatch() {
- }
-
- /**
- * Copy constructor.
- *
- * @param other the object to copy from.
- */
- public FlowEntryMatch(FlowEntryMatch other) {
- if ((other.inPort != null) && other.inPort.enabled())
- this.enableInPort(other.inPort.value());
- if ((other.srcMac != null) && other.srcMac.enabled())
- this.enableSrcMac(other.srcMac.value());
- if ((other.dstMac != null) && other.dstMac.enabled())
- this.enableDstMac(other.dstMac.value());
- if ((other.vlanId != null) && other.vlanId.enabled())
- this.enableVlanId(other.vlanId.value());
- if ((other.vlanPriority != null) && other.vlanPriority.enabled())
- this.enableVlanPriority(other.vlanPriority.value());
- if ((other.ethernetFrameType != null) && other.ethernetFrameType.enabled())
- this.enableEthernetFrameType(other.ethernetFrameType.value());
- if ((other.ipToS != null) && other.ipToS.enabled())
- this.enableIpToS(other.ipToS.value());
- if ((other.ipProto != null) && other.ipProto.enabled())
- this.enableIpProto(other.ipProto.value());
- if ((other.srcIPv4Net != null) && other.srcIPv4Net.enabled())
- this.enableSrcIPv4Net(other.srcIPv4Net.value());
- if ((other.dstIPv4Net != null) && other.dstIPv4Net.enabled())
- this.enableDstIPv4Net(other.dstIPv4Net.value());
- if ((other.srcTcpUdpPort != null) && other.srcTcpUdpPort.enabled())
- this.enableSrcTcpUdpPort(other.srcTcpUdpPort.value());
- if ((other.dstTcpUdpPort != null) && other.dstTcpUdpPort.enabled())
- this.enableDstTcpUdpPort(other.dstTcpUdpPort.value());
- }
-
- /**
- * Get the matching input switch port.
- *
- * @return the matching input switch port.
- */
- @JsonProperty("inPort")
- public Port inPort() {
- if (inPort != null)
- return inPort.value();
- return null;
- }
-
- /**
- * Enable the matching on input switch port.
- *
- * @param inPort the input switch port value to enable for matching.
- */
- @JsonProperty("inPort")
- public void enableInPort(Port inPort) {
- this.inPort = new Field<Port>(inPort);
- }
-
- /**
- * Disable the matching on input switch port.
- */
- public void disableInPort() {
- this.inPort = null;
- }
-
- /**
- * Test if matching on input switch port is enabled.
- *
- * @return true if matching on input switch port is enabled.
- */
- @JsonProperty("matchInPort")
- public boolean matchInPort() {
- if (inPort != null)
- return inPort.enabled();
- return false;
- }
-
- /**
- * Get the matching source MAC address.
- *
- * @return the matching source MAC address.
- */
- @JsonProperty("srcMac")
- public MACAddress srcMac() {
- if (srcMac != null)
- return srcMac.value();
- return null;
- }
-
- /**
- * Enable the matching on source MAC address.
- *
- * @param srcMac the source MAC address value to enable for matching.
- */
- @JsonProperty("srcMac")
- public void enableSrcMac(MACAddress srcMac) {
- this.srcMac = new Field<MACAddress>(srcMac);
- }
-
- /**
- * Disable the matching on source MAC address.
- */
- public void disableSrcMac() {
- this.srcMac = null;
- }
-
- /**
- * Test if matching on source MAC address is enabled.
- *
- * @return true if matching on source MAC address is enabled.
- */
- @JsonProperty("matchSrcMac")
- public boolean matchSrcMac() {
- if (srcMac != null)
- return srcMac.enabled();
- return false;
- }
-
- /**
- * Get the matching destination MAC address.
- *
- * @return the matching destination MAC address.
- */
- @JsonProperty("dstMac")
- public MACAddress dstMac() {
- if (dstMac != null)
- return dstMac.value();
- return null;
- }
-
- /**
- * Enable the matching on destination MAC address.
- *
- * @param dstMac the destination MAC address value to enable for matching.
- */
- @JsonProperty("dstMac")
- public void enableDstMac(MACAddress dstMac) {
- this.dstMac = new Field<MACAddress>(dstMac);
- }
-
- /**
- * Disable the matching on destination MAC address.
- */
- public void disableDstMac() {
- this.dstMac = null;
- }
-
- /**
- * Test if matching on destination MAC address is enabled.
- *
- * @return true if matching on destination MAC address is enabled.
- */
- @JsonProperty("matchDstMac")
- public boolean matchDstMac() {
- if (dstMac != null)
- return dstMac.enabled();
- return false;
- }
-
- /**
- * Get the matching VLAN ID.
- *
- * @return the matching VLAN ID.
- */
- @JsonProperty("vlanId")
- public Short vlanId() {
- if (vlanId != null)
- return vlanId.value();
- return null;
- }
-
- /**
- * Enable the matching on VLAN ID.
- *
- * @param vlanId the VLAN ID value to enable for matching.
- */
- @JsonProperty("vlanId")
- public void enableVlanId(Short vlanId) {
- this.vlanId = new Field<Short>(vlanId);
- }
-
- /**
- * Disable the matching on VLAN ID.
- */
- public void disableVlanId() {
- this.vlanId = null;
- }
-
- /**
- * Test if matching on VLAN ID is enabled.
- *
- * @return true if matching on VLAN ID is enabled.
- */
- @JsonProperty("matchVlanId")
- public boolean matchVlanId() {
- if (vlanId != null)
- return vlanId.enabled();
- return false;
- }
-
- /**
- * Get the matching VLAN priority.
- *
- * @return the matching VLAN priority.
- */
- @JsonProperty("vlanPriority")
- public Byte vlanPriority() {
- if (vlanPriority != null)
- return vlanPriority.value();
- return null;
- }
-
- /**
- * Enable the matching on VLAN priority.
- *
- * @param vlanPriority the VLAN priority value to enable for matching.
- */
- @JsonProperty("vlanPriority")
- public void enableVlanPriority(Byte vlanPriority) {
- this.vlanPriority = new Field<Byte>(vlanPriority);
- }
-
- /**
- * Disable the matching on VLAN priority.
- */
- public void disableVlanPriority() {
- this.vlanPriority = null;
- }
-
- /**
- * Test if matching on VLAN priority is enabled.
- *
- * @return true if matching on VLAN priority is enabled.
- */
- @JsonProperty("matchVlanPriority")
- public boolean matchVlanPriority() {
- if (vlanPriority != null)
- return vlanPriority.enabled();
- return false;
- }
-
- /**
- * Get the matching Ethernet frame type.
- *
- * @return the matching Ethernet frame type.
- */
- @JsonProperty("ethernetFrameType")
- public Short ethernetFrameType() {
- if (ethernetFrameType != null)
- return ethernetFrameType.value();
- return null;
- }
-
- /**
- * Enable the matching on Ethernet frame type.
- *
- * @param ethernetFrameType the Ethernet frame type value to enable for
- * matching.
- */
- @JsonProperty("ethernetFrameType")
- public void enableEthernetFrameType(Short ethernetFrameType) {
- this.ethernetFrameType = new Field<Short>(ethernetFrameType);
- }
-
- /**
- * Disable the matching on Ethernet frame type.
- */
- public void disableEthernetFrameType() {
- this.ethernetFrameType = null;
- }
-
- /**
- * Test if matching on Ethernet frame type is enabled.
- *
- * @return true if matching on Ethernet frame type is enabled.
- */
- @JsonProperty("matchEthernetFrameType")
- public boolean matchEthernetFrameType() {
- if (ethernetFrameType != null)
- return ethernetFrameType.enabled();
- return false;
- }
-
- /**
- * Get the matching IP ToS (DSCP field, 6 bits)
- *
- * @return the matching IP ToS.
- */
- @JsonProperty("ipToS")
- public Byte ipToS() {
- if (ipToS != null)
- return ipToS.value();
- return null;
- }
-
- /**
- * Enable the matching on IP ToS (DSCP field, 6 bits).
- *
- * @param ipToS the IP ToS value to enable for matching.
- */
- @JsonProperty("ipToS")
- public void enableIpToS(Byte ipToS) {
- this.ipToS = new Field<Byte>(ipToS);
- }
-
- /**
- * Disable the matching on IP ToS (DSCP field, 6 bits).
- */
- public void disableIpToS() {
- this.ipToS = null;
- }
-
- /**
- * Test if matching on IP ToS (DSCP field, 6 bits) is enabled.
- *
- * @return true if matching on IP ToS is enabled.
- */
- @JsonProperty("matchIpToS")
- public boolean matchIpToS() {
- if (ipToS != null)
- return ipToS.enabled();
- return false;
- }
-
- /**
- * Get the matching IP protocol.
- *
- * @return the matching IP protocol.
- */
- @JsonProperty("ipProto")
- public Byte ipProto() {
- if (ipProto != null)
- return ipProto.value();
- return null;
- }
-
- /**
- * Enable the matching on IP protocol.
- *
- * @param ipProto the IP protocol value to enable for matching.
- */
- @JsonProperty("ipProto")
- public void enableIpProto(Byte ipProto) {
- this.ipProto = new Field<Byte>(ipProto);
- }
-
- /**
- * Disable the matching on IP protocol.
- */
- public void disableIpProto() {
- this.ipProto = null;
- }
-
- /**
- * Test if matching on IP protocol is enabled.
- *
- * @return true if matching on IP protocol is enabled.
- */
- @JsonProperty("matchIpProto")
- public boolean matchIpProto() {
- if (ipProto != null)
- return ipProto.enabled();
- return false;
- }
-
- /**
- * Get the matching source IPv4 prefix.
- *
- * @return the matching source IPv4 prefix.
- */
- @JsonProperty("srcIPv4Net")
- public IPv4Net srcIPv4Net() {
- if (srcIPv4Net != null)
- return srcIPv4Net.value();
- return null;
- }
-
- /**
- * Enable the matching on source IPv4 prefix.
- *
- * @param srcIPv4Net the source IPv4 prefix value to enable for matching.
- */
- @JsonProperty("srcIPv4Net")
- public void enableSrcIPv4Net(IPv4Net srcIPv4Net) {
- this.srcIPv4Net = new Field<IPv4Net>(srcIPv4Net);
- }
-
- /**
- * Disable the matching on source IPv4 prefix.
- */
- public void disableSrcIPv4Net() {
- this.srcIPv4Net = null;
- }
-
- /**
- * Test if matching on source IPv4 prefix is enabled.
- *
- * @return true if matching on source IPv4 prefix is enabled.
- */
- @JsonProperty("matchSrcIPv4Net")
- public boolean matchSrcIPv4Net() {
- if (srcIPv4Net != null)
- return srcIPv4Net.enabled();
- return false;
- }
-
- /**
- * Get the matching destination IPv4 prefix.
- *
- * @return the matching destination IPv4 prefix.
- */
- @JsonProperty("dstIPv4Net")
- public IPv4Net dstIPv4Net() {
- if (dstIPv4Net != null)
- return dstIPv4Net.value();
- return null;
- }
-
- /**
- * Enable the matching on destination IPv4 prefix.
- *
- * @param dstIPv4Net the destination IPv4 prefix value to enable for
- * matching.
- */
- @JsonProperty("dstIPv4Net")
- public void enableDstIPv4Net(IPv4Net dstIPv4Net) {
- this.dstIPv4Net = new Field<IPv4Net>(dstIPv4Net);
- }
-
- /**
- * Disable the matching on destination IPv4 prefix.
- */
- public void disableDstIPv4Net() {
- this.dstIPv4Net = null;
- }
-
- /**
- * Test if matching on destination IPv4 prefix is enabled.
- *
- * @return true if matching on destination IPv4 prefix is enabled.
- */
- @JsonProperty("matchDstIPv4Net")
- public boolean matchDstIPv4Net() {
- if (dstIPv4Net != null)
- return dstIPv4Net.enabled();
- return false;
- }
-
- /**
- * Get the matching source TCP/UDP port.
- *
- * @return the matching source TCP/UDP port.
- */
- @JsonProperty("srcTcpUdpPort")
- public Short srcTcpUdpPort() {
- if (srcTcpUdpPort != null)
- return srcTcpUdpPort.value();
- return null;
- }
-
- /**
- * Enable the matching on source TCP/UDP port.
- *
- * @param srcTcpUdpPort the source TCP/UDP port to enable for matching.
- */
- @JsonProperty("srcTcpUdpPort")
- public void enableSrcTcpUdpPort(Short srcTcpUdpPort) {
- this.srcTcpUdpPort = new Field<Short>(srcTcpUdpPort);
- }
-
- /**
- * Disable the matching on source TCP/UDP port.
- */
- public void disableSrcTcpUdpPort() {
- this.srcTcpUdpPort = null;
- }
-
- /**
- * Test if matching on source TCP/UDP port is enabled.
- *
- * @return true if matching on source TCP/UDP port is enabled.
- */
- @JsonProperty("matchSrcTcpUdpPort")
- public boolean matchSrcTcpUdpPort() {
- if (srcTcpUdpPort != null)
- return srcTcpUdpPort.enabled();
- return false;
- }
-
- /**
- * Get the matching destination TCP/UDP port.
- *
- * @return the matching destination TCP/UDP port.
- */
- @JsonProperty("dstTcpUdpPort")
- public Short dstTcpUdpPort() {
- if (dstTcpUdpPort != null)
- return dstTcpUdpPort.value();
- return null;
- }
-
- /**
- * Enable the matching on destination TCP/UDP port.
- *
- * @param dstTcpUdpPort the destination TCP/UDP port to enable for
- * matching.
- */
- @JsonProperty("dstTcpUdpPort")
- public void enableDstTcpUdpPort(Short dstTcpUdpPort) {
- this.dstTcpUdpPort = new Field<Short>(dstTcpUdpPort);
- }
-
- /**
- * Disable the matching on destination TCP/UDP port.
- */
- public void disableDstTcpUdpPort() {
- this.dstTcpUdpPort = null;
- }
-
- /**
- * Test if matching on destination TCP/UDP port is enabled.
- *
- * @return true if matching on destination TCP/UDP port is enabled.
- */
- @JsonProperty("matchDstTcpUdpPort")
- public boolean matchDstTcpUdpPort() {
- if (dstTcpUdpPort != null)
- return dstTcpUdpPort.enabled();
- return false;
- }
-
- /**
- * Convert the matching filter to a string.
- *
- * The string has the following form:
- * [srcMac=XXX dstMac=XXX srcIPv4Net=XXX dstIPv4Net=XXX]
- *
- * @return the matching filter as a string.
- */
- @Override
- public String toString() {
- String ret = "[";
- boolean addSpace = false;
-
- //
- // Conditionally add only those matching fields that are enabled
- //
- if (matchInPort()) {
- if (addSpace)
- ret += " ";
- addSpace = true;
- ret += "inPort=" + this.inPort().toString();
- }
- if (matchSrcMac()) {
- if (addSpace)
- ret += " ";
- addSpace = true;
- ret += "srcMac=" + this.srcMac().toString();
- }
- if (matchDstMac()) {
- if (addSpace)
- ret += " ";
- addSpace = true;
- ret += "dstMac=" + this.dstMac().toString();
- }
- if (matchVlanId()) {
- if (addSpace)
- ret += " ";
- addSpace = true;
- ret += "vlanId=" + this.vlanId().toString();
- }
- if (matchVlanPriority()) {
- if (addSpace)
- ret += " ";
- addSpace = true;
- ret += "vlanPriority=" + this.vlanPriority().toString();
- }
- if (matchEthernetFrameType()) {
- if (addSpace)
- ret += " ";
- addSpace = true;
- ret += "ethernetFrameType=" + this.ethernetFrameType().toString();
- }
- if (matchIpToS()) {
- if (addSpace)
- ret += " ";
- addSpace = true;
- ret += "ipToS=" + this.ipToS().toString();
- }
- if (matchIpProto()) {
- if (addSpace)
- ret += " ";
- addSpace = true;
- ret += "ipProto=" + this.ipProto().toString();
- }
- if (matchSrcIPv4Net()) {
- if (addSpace)
- ret += " ";
- addSpace = true;
- ret += "srcIPv4Net=" + this.srcIPv4Net().toString();
- }
- if (matchDstIPv4Net()) {
- if (addSpace)
- ret += " ";
- addSpace = true;
- ret += "dstIPv4Net=" + this.dstIPv4Net().toString();
- }
- if (matchSrcTcpUdpPort()) {
- if (addSpace)
- ret += " ";
- addSpace = true;
- ret += "srcTcpUdpPort=" + this.srcTcpUdpPort().toString();
- }
- if (matchDstTcpUdpPort()) {
- if (addSpace)
- ret += " ";
- addSpace = true;
- ret += "dstTcpUdpPort=" + this.dstTcpUdpPort().toString();
- }
-
- ret += "]";
-
- return ret;
- }
-}
diff --git a/src/main/java/net/floodlightcontroller/util/FlowEntrySwitchState.java b/src/main/java/net/floodlightcontroller/util/FlowEntrySwitchState.java
deleted file mode 100644
index 4f9882a..0000000
--- a/src/main/java/net/floodlightcontroller/util/FlowEntrySwitchState.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package net.floodlightcontroller.util;
-
-/**
- * The Flow Entry state as set by the controller.
- */
-public enum FlowEntrySwitchState {
- FE_SWITCH_UNKNOWN, // Initialization value: state unknown
- FE_SWITCH_NOT_UPDATED, // Switch not updated with this entry
- FE_SWITCH_UPDATE_IN_PROGRESS, // Switch update in progress
- FE_SWITCH_UPDATED, // Switch updated with this entry
- FE_SWITCH_UPDATE_FAILED // Error updating the switch with this entry
-}
diff --git a/src/main/java/net/floodlightcontroller/util/FlowEntryUserState.java b/src/main/java/net/floodlightcontroller/util/FlowEntryUserState.java
deleted file mode 100644
index 8637b4f..0000000
--- a/src/main/java/net/floodlightcontroller/util/FlowEntryUserState.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package net.floodlightcontroller.util;
-
-/**
- * The Flow Entry state as set by the user (via the ONOS API).
- */
-public enum FlowEntryUserState {
- FE_USER_UNKNOWN, // Initialization value: state unknown
- FE_USER_ADD, // Flow entry that is added
- FE_USER_MODIFY, // Flow entry that is modified
- FE_USER_DELETE // Flow entry that is deleted
-}
diff --git a/src/main/java/net/floodlightcontroller/util/FlowId.java b/src/main/java/net/floodlightcontroller/util/FlowId.java
deleted file mode 100644
index 0297e2a..0000000
--- a/src/main/java/net/floodlightcontroller/util/FlowId.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package net.floodlightcontroller.util;
-
-import java.math.BigInteger;
-
-import net.floodlightcontroller.util.serializers.FlowIdDeserializer;
-import net.floodlightcontroller.util.serializers.FlowIdSerializer;
-
-import org.codehaus.jackson.annotate.JsonProperty;
-import org.codehaus.jackson.map.annotate.JsonDeserialize;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
-
-/**
- * The class representing a Flow ID.
- */
-@JsonDeserialize(using=FlowIdDeserializer.class)
-@JsonSerialize(using=FlowIdSerializer.class)
-public class FlowId {
- private long value;
-
- /**
- * Default constructor.
- */
- public FlowId() {
- this.value = 0;
- }
-
- /**
- * Constructor from an integer value.
- *
- * @param value the value to use.
- */
- public FlowId(long value) {
- this.value = value;
- }
-
- /**
- * Constructor from a string.
- *
- * @param value the value to use.
- */
- public FlowId(String value) {
- //
- // Use the help of BigInteger to parse strings representing
- // large unsigned hex long values.
- //
- char c = 0;
- if (value.length() > 2)
- c = value.charAt(1);
- if ((c == 'x') || (c == 'X'))
- this.value = new BigInteger(value.substring(2), 16).longValue();
- else
- this.value = Long.decode(value);
- }
-
- /**
- * Get the value of the Flow ID.
- *
- * @return the value of the Flow ID.
- */
- public long value() { return value; }
-
- /**
- * Set the value of the Flow ID.
- *
- * @param value the value to set.
- */
- public void setValue(long value) {
- this.value = value;
- }
-
- /**
- * Convert the Flow ID value to a hexadecimal string.
- *
- * @return the Flow ID value to a hexadecimal string.
- */
- @Override
- public String toString() {
- return "0x" + Long.toHexString(this.value);
- }
-}
diff --git a/src/main/java/net/floodlightcontroller/util/FlowPath.java b/src/main/java/net/floodlightcontroller/util/FlowPath.java
deleted file mode 100644
index d906444..0000000
--- a/src/main/java/net/floodlightcontroller/util/FlowPath.java
+++ /dev/null
@@ -1,223 +0,0 @@
-package net.floodlightcontroller.util;
-
-import java.util.ArrayList;
-
-import net.floodlightcontroller.util.CallerId;
-import net.floodlightcontroller.util.DataPath;
-import net.floodlightcontroller.util.FlowEntryMatch;
-import net.floodlightcontroller.util.FlowId;
-import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IFlowEntry;
-import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IFlowPath;
-
-import org.codehaus.jackson.annotate.JsonProperty;
-
-/**
- * The class representing the Flow Path.
- */
-public class FlowPath implements Comparable<FlowPath> {
- private FlowId flowId; // The Flow ID
- private CallerId installerId; // The Caller ID of the path installer
- private DataPath dataPath; // The data path
- private FlowEntryMatch flowEntryMatch; // Common Flow Entry Match for all
- // Flow Entries
-
- /**
- * Default constructor.
- */
- public FlowPath() {
- dataPath = new DataPath();
- }
-
- /**
- * Constructor to instantiate from object in Network Map
- */
- public FlowPath(IFlowPath flowObj) {
- dataPath = new DataPath();
- this.setFlowId(new FlowId(flowObj.getFlowId()));
- this.setInstallerId(new CallerId(flowObj.getInstallerId()));
- this.dataPath().srcPort().setDpid(new Dpid(flowObj.getSrcSwitch()));
- this.dataPath().srcPort().setPort(new Port(flowObj.getSrcPort()));
- this.dataPath().dstPort().setDpid(new Dpid(flowObj.getDstSwitch()));
- this.dataPath().dstPort().setPort(new Port(flowObj.getDstPort()));
- //
- // Extract the match conditions that are common for all Flow Entries
- //
- {
- FlowEntryMatch match = new FlowEntryMatch();
- Short matchEthernetFrameType = flowObj.getMatchEthernetFrameType();
- if (matchEthernetFrameType != null)
- match.enableEthernetFrameType(matchEthernetFrameType);
- String matchSrcIPv4Net = flowObj.getMatchSrcIPv4Net();
- if (matchSrcIPv4Net != null)
- match.enableSrcIPv4Net(new IPv4Net(matchSrcIPv4Net));
- String matchDstIPv4Net = flowObj.getMatchDstIPv4Net();
- if (matchDstIPv4Net != null)
- match.enableDstIPv4Net(new IPv4Net(matchDstIPv4Net));
- String matchSrcMac = flowObj.getMatchSrcMac();
- if (matchSrcMac != null)
- match.enableSrcMac(MACAddress.valueOf(matchSrcMac));
- String matchDstMac = flowObj.getMatchDstMac();
- if (matchDstMac != null)
- match.enableDstMac(MACAddress.valueOf(matchDstMac));
- this.setFlowEntryMatch(match);
- }
-
- //
- // Extract all Flow Entries
- //
- Iterable<IFlowEntry> flowEntries = flowObj.getFlowEntries();
- for (IFlowEntry flowEntryObj : flowEntries) {
- FlowEntry flowEntry = new FlowEntry();
- flowEntry.setFlowEntryId(new FlowEntryId(flowEntryObj.getFlowEntryId()));
- flowEntry.setDpid(new Dpid(flowEntryObj.getSwitchDpid()));
-
- //
- // Extract the match conditions
- //
- FlowEntryMatch match = new FlowEntryMatch();
- Short matchInPort = flowEntryObj.getMatchInPort();
- if (matchInPort != null)
- match.enableInPort(new Port(matchInPort));
- Short matchEthernetFrameType = flowEntryObj.getMatchEthernetFrameType();
- if (matchEthernetFrameType != null)
- match.enableEthernetFrameType(matchEthernetFrameType);
- String matchSrcIPv4Net = flowEntryObj.getMatchSrcIPv4Net();
- if (matchSrcIPv4Net != null)
- match.enableSrcIPv4Net(new IPv4Net(matchSrcIPv4Net));
- String matchDstIPv4Net = flowEntryObj.getMatchDstIPv4Net();
- if (matchDstIPv4Net != null)
- match.enableDstIPv4Net(new IPv4Net(matchDstIPv4Net));
- String matchSrcMac = flowEntryObj.getMatchSrcMac();
- if (matchSrcMac != null)
- match.enableSrcMac(MACAddress.valueOf(matchSrcMac));
- String matchDstMac = flowEntryObj.getMatchDstMac();
- if (matchDstMac != null)
- match.enableDstMac(MACAddress.valueOf(matchDstMac));
- flowEntry.setFlowEntryMatch(match);
-
- //
- // Extract the actions
- //
- ArrayList<FlowEntryAction> actions = new ArrayList<FlowEntryAction>();
- Short actionOutputPort = flowEntryObj.getActionOutput();
- if (actionOutputPort != null) {
- FlowEntryAction action = new FlowEntryAction();
- action.setActionOutput(new Port(actionOutputPort));
- actions.add(action);
- }
- flowEntry.setFlowEntryActions(actions);
-
- String userState = flowEntryObj.getUserState();
- flowEntry.setFlowEntryUserState(FlowEntryUserState.valueOf(userState));
- String switchState = flowEntryObj.getSwitchState();
- flowEntry.setFlowEntrySwitchState(FlowEntrySwitchState.valueOf(switchState));
- //
- // TODO: Take care of the FlowEntryMatch, FlowEntryAction set,
- // and FlowEntryErrorState.
- //
- this.dataPath().flowEntries().add(flowEntry);
- }
- }
-
- /**
- * Get the flow path Flow ID.
- *
- * @return the flow path Flow ID.
- */
- @JsonProperty("flowId")
- public FlowId flowId() { return flowId; }
-
- /**
- * Set the flow path Flow ID.
- *
- * @param flowId the flow path Flow ID to set.
- */
- @JsonProperty("flowId")
- public void setFlowId(FlowId flowId) {
- this.flowId = flowId;
- }
-
- /**
- * Get the Caller ID of the flow path installer.
- *
- * @return the Caller ID of the flow path installer.
- */
- @JsonProperty("installerId")
- public CallerId installerId() { return installerId; }
-
- /**
- * Set the Caller ID of the flow path installer.
- *
- * @param installerId the Caller ID of the flow path installer.
- */
- @JsonProperty("installerId")
- public void setInstallerId(CallerId installerId) {
- this.installerId = installerId;
- }
-
- /**
- * Get the flow path's data path.
- *
- * @return the flow path's data path.
- */
- @JsonProperty("dataPath")
- public DataPath dataPath() { return dataPath; }
-
- /**
- * Set the flow path's data path.
- *
- * @param dataPath the flow path's data path to set.
- */
- @JsonProperty("dataPath")
- public void setDataPath(DataPath dataPath) {
- this.dataPath = dataPath;
- }
-
- /**
- * Get the flow path's match conditions common for all Flow Entries.
- *
- * @return the flow path's match conditions common for all Flow Entries.
- */
- @JsonProperty("flowEntryMatch")
- public FlowEntryMatch flowEntryMatch() { return flowEntryMatch; }
-
- /**
- * Set the flow path's match conditions common for all Flow Entries.
- *
- * @param flowEntryMatch the flow path's match conditions common for all
- * Flow Entries.
- */
- @JsonProperty("flowEntryMatch")
- public void setFlowEntryMatch(FlowEntryMatch flowEntryMatch) {
- this.flowEntryMatch = flowEntryMatch;
- }
-
- /**
- * Convert the flow path to a string.
- *
- * The string has the following form:
- * [flowId=XXX installerId=XXX dataPath=XXX]
- *
- * @return the flow path as a string.
- */
- @Override
- public String toString() {
- String ret = "[flowId=" + this.flowId.toString();
- ret += " installerId=" + this.installerId.toString();
- if (dataPath != null)
- ret += " dataPath=" + this.dataPath.toString();
- if (flowEntryMatch != null)
- ret += " flowEntryMatch=" + this.flowEntryMatch.toString();
- ret += "]";
- return ret;
- }
-
- /**
- * CompareTo method to order flowPath by Id
- */
- @Override
- public int compareTo(FlowPath f) {
- return (int) (this.flowId.value() - f.flowId.value());
- }
-
-}
diff --git a/src/main/java/net/floodlightcontroller/util/IPv4.java b/src/main/java/net/floodlightcontroller/util/IPv4.java
deleted file mode 100644
index ef3a1e5..0000000
--- a/src/main/java/net/floodlightcontroller/util/IPv4.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package net.floodlightcontroller.util;
-
-import net.floodlightcontroller.util.serializers.IPv4Deserializer;
-import net.floodlightcontroller.util.serializers.IPv4Serializer;
-
-import org.codehaus.jackson.annotate.JsonProperty;
-import org.codehaus.jackson.map.annotate.JsonDeserialize;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
-
-/**
- * The class representing an IPv4 address.
- */
-@JsonDeserialize(using=IPv4Deserializer.class)
-@JsonSerialize(using=IPv4Serializer.class)
-public class IPv4 {
- private int value;
-
- /**
- * Default constructor.
- */
- public IPv4() {
- this.value = 0;
- }
-
- /**
- * Constructor from an integer value.
- *
- * @param value the value to use.
- */
- public IPv4(int value) {
- this.value = value;
- }
-
- /**
- * Constructor from a string.
- *
- * @param value the value to use.
- */
- public IPv4(String value) {
- String[] splits = value.split("\\.");
- if (splits.length != 4)
- throw new IllegalArgumentException("Specified IPv4 address must contain four " +
- "numerical digits separated by '.'");
-
- int result = 0;
- for (int i = 0; i < 4; ++i) {
- result |= Integer.valueOf(splits[i]) << ((3-i)*8);
- }
- this.value = result;
- }
-
- /**
- * Get the value of the IPv4 address.
- *
- * @return the value of the IPv4 address.
- */
- public int value() { return value; }
-
- /**
- * Set the value of the IPv4 address.
- *
- * @param value the value to set.
- */
- public void setValue(int value) {
- this.value = value;
- }
-
- /**
- * Convert the IPv4 value to a '.' separated string.
- *
- * @return the IPv4 value as a '.' separated string.
- */
- @Override
- public String toString() {
- return ((this.value >> 24) & 0xFF) + "." +
- ((this.value >> 16) & 0xFF) + "." +
- ((this.value >> 8) & 0xFF) + "." +
- (this.value & 0xFF);
- }
-}
diff --git a/src/main/java/net/floodlightcontroller/util/IPv4Net.java b/src/main/java/net/floodlightcontroller/util/IPv4Net.java
deleted file mode 100644
index 824e3e2..0000000
--- a/src/main/java/net/floodlightcontroller/util/IPv4Net.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package net.floodlightcontroller.util;
-
-import net.floodlightcontroller.util.IPv4;
-import net.floodlightcontroller.util.serializers.IPv4NetDeserializer;
-import net.floodlightcontroller.util.serializers.IPv4NetSerializer;
-
-import org.codehaus.jackson.annotate.JsonProperty;
-import org.codehaus.jackson.map.annotate.JsonDeserialize;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
-
-/**
- * The class representing an IPv4 network address.
- */
-@JsonDeserialize(using=IPv4NetDeserializer.class)
-@JsonSerialize(using=IPv4NetSerializer.class)
-public class IPv4Net {
- private IPv4 address; // The IPv4 address
- private short prefixLen; // The prefix length
-
- /**
- * Default constructor.
- */
- public IPv4Net() {
- this.prefixLen = 0;
- }
-
- /**
- * Constructor for a given address and prefix length.
- *
- * @param address the address to use.
- * @param prefixLen the prefix length to use.
- */
- public IPv4Net(IPv4 address, short prefixLen) {
- this.address = address;
- this.prefixLen = prefixLen;
- }
-
- /**
- * Constructor from a string.
- *
- * @param value the value to use.
- */
- public IPv4Net(String value) {
- String[] splits = value.split("/");
- if (splits.length != 2) {
- throw new IllegalArgumentException("Specified IPv4Net address must contain an IPv4 " +
- "address and a prefix length separated by '/'");
- }
- this.address = new IPv4(splits[0]);
- this.prefixLen = Short.decode(splits[1]);
- }
-
- /**
- * Get the address value of the IPv4Net address.
- *
- * @return the address value of the IPv4Net address.
- */
- public IPv4 address() { return address; }
-
- /**
- * Set the address value of the IPv4Net address.
- *
- * @param address the address to use.
- */
- public void setAddress(IPv4 address) {
- this.address = address;
- }
-
- /**
- * Get the prefix length value of the IPv4Net address.
- *
- * @return the prefix length value of the IPv4Net address.
- */
- public short prefixLen() { return prefixLen; }
-
- /**
- * Set the prefix length value of the IPv4Net address.
- *
- * @param prefixLen the prefix length to use.
- */
- public void setPrefixLen(short prefixLen) {
- this.prefixLen = prefixLen;
- }
-
- /**
- * Set the value of the IPv4Net address.
- *
- * @param address the address to use.
- * @param prefixLen the prefix length to use.
- */
- public void setValue(IPv4 address, short prefixLen) {
- this.address = address;
- this.prefixLen = prefixLen;
- }
-
- /**
- * Convert the IPv4Net value to an "address/prefixLen" string.
- *
- * @return the IPv4Net value as an "address/prefixLen" string.
- */
- @Override
- public String toString() {
- return this.address.toString() + "/" + this.prefixLen;
- }
-}
diff --git a/src/main/java/net/floodlightcontroller/util/IPv6.java b/src/main/java/net/floodlightcontroller/util/IPv6.java
deleted file mode 100644
index eda4502..0000000
--- a/src/main/java/net/floodlightcontroller/util/IPv6.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package net.floodlightcontroller.util;
-
-import org.openflow.util.HexString;
-import net.floodlightcontroller.util.serializers.IPv6Deserializer;
-import net.floodlightcontroller.util.serializers.IPv6Serializer;
-
-import org.codehaus.jackson.annotate.JsonProperty;
-import org.codehaus.jackson.map.annotate.JsonDeserialize;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
-
-/**
- * The class representing an IPv6 address.
- */
-@JsonDeserialize(using=IPv6Deserializer.class)
-@JsonSerialize(using=IPv6Serializer.class)
-public class IPv6 {
- private long valueHigh; // The higher (more significant) 64 bits
- private long valueLow; // The lower (less significant) 64 bits
-
- /**
- * Default constructor.
- */
- public IPv6() {
- this.valueHigh = 0;
- this.valueLow = 0;
- }
-
- /**
- * Constructor from integer values.
- *
- * @param valueHigh the higher (more significant) 64 bits of the address.
- * @param valueLow the lower (less significant) 64 bits of the address.
- */
- public IPv6(long valueHigh, long valueLow) {
- this.valueHigh = valueHigh;
- this.valueLow = valueLow;
- }
-
- /**
- * Constructor from a string.
- *
- * @param value the value to use.
- */
- public IPv6(String value) {
- // TODO: Implement it!
- this.valueHigh = 0;
- this.valueLow = 0;
- }
-
- /**
- * Get the value of the higher (more significant) 64 bits of the address.
- *
- * @return the value of the higher (more significant) 64 bits of the
- * address.
- */
- public long valueHigh() { return valueHigh; }
-
- /**
- * Set the value of the higher (more significant) 64 bits of the address.
- *
- * @param valueHigh the higher (more significant) 64 bits of the address.
- */
- public void setValueHigh(long valueHigh) {
- this.valueHigh = valueHigh;
- }
-
- /**
- * Get the value of the lower (less significant) 64 bits of the address.
- *
- * @return the value of the lower (less significant) 64 bits of the
- * address.
- */
- public long valueLow() { return valueLow; }
-
- /**
- * Get the value of the lower (less significant) 64 bits of the address.
- *
- * @param valueLow the lower (less significant) 64 bits of the address.
- */
- public void setValueLow(long valueLow) {
- this.valueLow = valueLow;
- }
-
- /**
- * Set the value of the IPv6 address.
- *
- * @param valueHigh the higher (more significant) 64 bits of the address.
- * @param valueLow the lower (less significant) 64 bits of the address.
- */
- public void setValue(long valueHigh, long valueLow) {
- this.valueHigh = valueHigh;
- this.valueLow = valueLow;
- }
-
- /**
- * Convert the IPv6 value to a ':' separated string.
- *
- * @return the IPv6 value as a ':' separated string.
- */
- @Override
- public String toString() {
- return HexString.toHexString(this.valueHigh) + ":" +
- HexString.toHexString(this.valueLow);
- }
-}
diff --git a/src/main/java/net/floodlightcontroller/util/IPv6Net.java b/src/main/java/net/floodlightcontroller/util/IPv6Net.java
deleted file mode 100644
index b6f7d67..0000000
--- a/src/main/java/net/floodlightcontroller/util/IPv6Net.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package net.floodlightcontroller.util;
-
-import net.floodlightcontroller.util.IPv6;
-import net.floodlightcontroller.util.serializers.IPv6NetDeserializer;
-import net.floodlightcontroller.util.serializers.IPv6NetSerializer;
-
-import org.codehaus.jackson.annotate.JsonProperty;
-import org.codehaus.jackson.map.annotate.JsonDeserialize;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
-
-/**
- * The class representing an IPv6 network address.
- */
-@JsonDeserialize(using=IPv6NetDeserializer.class)
-@JsonSerialize(using=IPv6NetSerializer.class)
-public class IPv6Net {
- private IPv6 address; // The IPv6 address
- private short prefixLen; // The prefix length
-
- /**
- * Default constructor.
- */
- public IPv6Net() {
- this.prefixLen = 0;
- }
-
- /**
- * Constructor for a given address and prefix length.
- *
- * @param address the address to use.
- * @param prefixLen the prefix length to use.
- */
- public IPv6Net(IPv6 address, short prefixLen) {
- this.address = address;
- this.prefixLen = prefixLen;
- }
-
- /**
- * Constructor from a string.
- *
- * @param value the value to use.
- */
- public IPv6Net(String value) {
- String[] splits = value.split("/");
- if (splits.length != 2) {
- throw new IllegalArgumentException("Specified IPv6Net address must contain an IPv6 " +
- "address and a prefix length separated by '/'");
- }
- this.address = new IPv6(splits[0]);
- this.prefixLen = Short.decode(splits[1]);
- }
-
- /**
- * Get the address value of the IPv6Net address.
- *
- * @return the address value of the IPv6Net address.
- */
- public IPv6 address() { return address; }
-
- /**
- * Set the address value of the IPv6Net address.
- *
- * @param address the address to use.
- */
- public void setAddress(IPv6 address) {
- this.address = address;
- }
-
- /**
- * Get the prefix length value of the IPv6Net address.
- *
- * @return the prefix length value of the IPv6Net address.
- */
- public short prefixLen() { return prefixLen; }
-
- /**
- * Set the prefix length value of the IPv6Net address.
- *
- * @param prefixLen the prefix length to use.
- */
- public void setPrefixLen(short prefixLen) {
- this.prefixLen = prefixLen;
- }
-
- /**
- * Set the value of the IPv6Net address.
- *
- * @param address the address to use.
- * @param prefixLen the prefix length to use.
- */
- public void setValue(IPv6 address, short prefixLen) {
- this.address = address;
- this.prefixLen = prefixLen;
- }
-
- /**
- * Convert the IPv6Net value to an "address/prefixLen" string.
- *
- * @return the IPv6Net value as an "address/prefixLen" string.
- */
- @Override
- public String toString() {
- return this.address.toString() + "/" + this.prefixLen;
- }
-}
diff --git a/src/main/java/net/floodlightcontroller/util/Port.java b/src/main/java/net/floodlightcontroller/util/Port.java
deleted file mode 100644
index 41f0d55..0000000
--- a/src/main/java/net/floodlightcontroller/util/Port.java
+++ /dev/null
@@ -1,134 +0,0 @@
-package net.floodlightcontroller.util;
-
-import org.codehaus.jackson.annotate.JsonProperty;
-
-/**
- * The class representing a network port of a switch.
- */
-
-public class Port {
- /**
- * Special port values.
- *
- * Those values are taken as-is from the OpenFlow-v1.0.0 specification
- * (pp 18-19).
- */
- public enum PortValues {
- /* Maximum number of physical switch ports. */
- PORT_MAX ((short)0xff00),
-
- /* Fake output "ports". */
-
- /* Send the packet out the input port. This
- virtual port must be explicitly used
- in order to send back out of the input
- port. */
- PORT_IN_PORT ((short)0xfff8),
-
- /* Perform actions in flow table.
- NB: This can only be the destination
- port for packet-out messages. */
- PORT_TABLE ((short)0xfff9),
-
- /* Process with normal L2/L3 switching. */
- PORT_NORMAL ((short)0xfffa),
-
- /* All physical ports except input port and
- those disabled by STP. */
- PORT_FLOOD ((short)0xfffb),
-
- /* All physical ports except input port. */
- PORT_ALL ((short)0xfffc),
-
- /* Send to controller. */
- PORT_CONTROLLER ((short)0xfffd),
-
- /* Local openflow "port". */
- PORT_LOCAL ((short)0xfffe),
-
- /* Not associated with a physical port. */
- PORT_NONE ((short)0xffff);
-
- private final short value; // The value
-
- /**
- * Constructor for a given value.
- *
- * @param value the value to use for the initialization.
- */
- private PortValues(short value) {
- this.value = value;
- }
-
- /**
- * Get the value as a short integer.
- *
- * @return the value as a short integer.
- */
- private short value() { return this.value; }
- }
-
- private short value;
-
- /**
- * Default constructor.
- */
- public Port() {
- this.value = 0;
- }
-
- /**
- * Constructor from another entry.
- *
- * @param other the other entry to use.
- */
- public Port(Port other) {
- this.value = other.value();
- }
-
- /**
- * Constructor from a short integer value.
- *
- * @param value the value to use.
- */
- public Port(short value) {
- this.value = value;
- }
-
- /**
- * Constructor from a PortValues enum value.
- *
- * @param value the value to use.
- */
- public Port(PortValues value) {
- this.value = value.value();
- }
-
- /**
- * Get the value of the port.
- *
- * @return the value of the port.
- */
- @JsonProperty("value")
- public short value() { return value; }
-
- /**
- * Set the value of the port.
- *
- * @param value the value to set.
- */
- @JsonProperty("value")
- public void setValue(short value) {
- this.value = value;
- }
-
- /**
- * Convert the port value to a string.
- *
- * @return the port value as a string.
- */
- @Override
- public String toString() {
- return Short.toString(this.value);
- }
-}
diff --git a/src/main/java/net/floodlightcontroller/util/SwitchPort.java b/src/main/java/net/floodlightcontroller/util/SwitchPort.java
deleted file mode 100644
index 027b681..0000000
--- a/src/main/java/net/floodlightcontroller/util/SwitchPort.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package net.floodlightcontroller.util;
-
-import net.floodlightcontroller.util.Dpid;
-import net.floodlightcontroller.util.Port;
-
-import org.codehaus.jackson.annotate.JsonProperty;
-
-/**
- * The class representing a Switch-Port.
- */
-public class SwitchPort {
- private Dpid dpid; // The DPID of the switch
- private Port port; // The port of the switch
-
- /**
- * Default constructor.
- */
- public SwitchPort() {
- }
-
- /**
- * Constructor for a given DPID and a port.
- *
- * @param dpid the DPID to use.
- * @param port the port to use.
- */
- public SwitchPort(Dpid dpid, Port port) {
- this.dpid = dpid;
- this.port = port;
- }
-
- /**
- * Get the DPID value of the Switch-Port.
- *
- * @return the DPID value of the Switch-Port.
- */
- @JsonProperty("dpid")
- public Dpid dpid() { return dpid; }
-
- /**
- * Set the DPID value of the Switch-Port.
- *
- * @param dpid the DPID to use.
- */
- @JsonProperty("dpid")
- public void setDpid(Dpid dpid) {
- this.dpid = dpid;
- }
-
- /**
- * Get the port value of the Switch-Port.
- *
- * @return the port value of the Switch-Port.
- */
- @JsonProperty("port")
- public Port port() { return port; }
-
- /**
- * Set the port value of the Switch-Port.
- *
- * @param port the port to use.
- */
- @JsonProperty("port")
- public void setPort(Port port) {
- this.port = port;
- }
-
- /**
- * Set the DPID and port values of the Switch-Port.
- *
- * @param dpid the DPID to use.
- * @param port the port to use.
- */
- public void setValue(Dpid dpid, Port port) {
- this.dpid = dpid;
- this.port = port;
- }
-
- /**
- * Convert the Switch-Port value to a string.
- *
- * The string has the following form:
- * 01:02:03:04:05:06:07:08/1234
- *
- * @return the Switch-Port value as a string.
- */
- @Override
- public String toString() {
- return this.dpid.toString() + "/" + this.port;
- }
-}
diff --git a/src/main/java/net/floodlightcontroller/util/serializers/DpidDeserializer.java b/src/main/java/net/floodlightcontroller/util/serializers/DpidDeserializer.java
index 9297f56..5bb88c1 100644
--- a/src/main/java/net/floodlightcontroller/util/serializers/DpidDeserializer.java
+++ b/src/main/java/net/floodlightcontroller/util/serializers/DpidDeserializer.java
@@ -10,7 +10,7 @@
import org.codehaus.jackson.map.JsonDeserializer;
import org.codehaus.jackson.map.DeserializationContext;
-import net.floodlightcontroller.util.Dpid;
+import net.onrc.onos.ofcontroller.util.Dpid;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/src/main/java/net/floodlightcontroller/util/serializers/DpidSerializer.java b/src/main/java/net/floodlightcontroller/util/serializers/DpidSerializer.java
index 06fab62..951ba90 100644
--- a/src/main/java/net/floodlightcontroller/util/serializers/DpidSerializer.java
+++ b/src/main/java/net/floodlightcontroller/util/serializers/DpidSerializer.java
@@ -7,7 +7,7 @@
import org.codehaus.jackson.map.JsonSerializer;
import org.codehaus.jackson.map.SerializerProvider;
-import net.floodlightcontroller.util.Dpid;
+import net.onrc.onos.ofcontroller.util.Dpid;
/**
* Serialize a DPID as a string.
diff --git a/src/main/java/net/floodlightcontroller/util/serializers/FlowEntryIdDeserializer.java b/src/main/java/net/floodlightcontroller/util/serializers/FlowEntryIdDeserializer.java
index e6481d5..494746d 100644
--- a/src/main/java/net/floodlightcontroller/util/serializers/FlowEntryIdDeserializer.java
+++ b/src/main/java/net/floodlightcontroller/util/serializers/FlowEntryIdDeserializer.java
@@ -10,7 +10,7 @@
import org.codehaus.jackson.map.JsonDeserializer;
import org.codehaus.jackson.map.DeserializationContext;
-import net.floodlightcontroller.util.FlowEntryId;
+import net.onrc.onos.ofcontroller.util.FlowEntryId;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/src/main/java/net/floodlightcontroller/util/serializers/FlowEntryIdSerializer.java b/src/main/java/net/floodlightcontroller/util/serializers/FlowEntryIdSerializer.java
index 4b6583c..e5b09b7 100644
--- a/src/main/java/net/floodlightcontroller/util/serializers/FlowEntryIdSerializer.java
+++ b/src/main/java/net/floodlightcontroller/util/serializers/FlowEntryIdSerializer.java
@@ -7,7 +7,7 @@
import org.codehaus.jackson.map.JsonSerializer;
import org.codehaus.jackson.map.SerializerProvider;
-import net.floodlightcontroller.util.FlowEntryId;
+import net.onrc.onos.ofcontroller.util.FlowEntryId;
/**
* Serialize a Flow Entry ID as a hexadecimal string.
diff --git a/src/main/java/net/floodlightcontroller/util/serializers/FlowIdDeserializer.java b/src/main/java/net/floodlightcontroller/util/serializers/FlowIdDeserializer.java
index a7f53d4..d2a895d 100644
--- a/src/main/java/net/floodlightcontroller/util/serializers/FlowIdDeserializer.java
+++ b/src/main/java/net/floodlightcontroller/util/serializers/FlowIdDeserializer.java
@@ -10,7 +10,7 @@
import org.codehaus.jackson.map.JsonDeserializer;
import org.codehaus.jackson.map.DeserializationContext;
-import net.floodlightcontroller.util.FlowId;
+import net.onrc.onos.ofcontroller.util.FlowId;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/src/main/java/net/floodlightcontroller/util/serializers/FlowIdSerializer.java b/src/main/java/net/floodlightcontroller/util/serializers/FlowIdSerializer.java
index 6f1a6f6..634e09b 100644
--- a/src/main/java/net/floodlightcontroller/util/serializers/FlowIdSerializer.java
+++ b/src/main/java/net/floodlightcontroller/util/serializers/FlowIdSerializer.java
@@ -7,7 +7,7 @@
import org.codehaus.jackson.map.JsonSerializer;
import org.codehaus.jackson.map.SerializerProvider;
-import net.floodlightcontroller.util.FlowId;
+import net.onrc.onos.ofcontroller.util.FlowId;
/**
* Serialize a Flow ID as a hexadecimal string.
diff --git a/src/main/java/net/floodlightcontroller/util/serializers/IPv4Deserializer.java b/src/main/java/net/floodlightcontroller/util/serializers/IPv4Deserializer.java
index 275f9f0..4ca1266 100644
--- a/src/main/java/net/floodlightcontroller/util/serializers/IPv4Deserializer.java
+++ b/src/main/java/net/floodlightcontroller/util/serializers/IPv4Deserializer.java
@@ -10,7 +10,7 @@
import org.codehaus.jackson.map.JsonDeserializer;
import org.codehaus.jackson.map.DeserializationContext;
-import net.floodlightcontroller.util.IPv4;
+import net.onrc.onos.ofcontroller.util.IPv4;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/src/main/java/net/floodlightcontroller/util/serializers/IPv4NetDeserializer.java b/src/main/java/net/floodlightcontroller/util/serializers/IPv4NetDeserializer.java
index 3c36870..dc4c0f4 100644
--- a/src/main/java/net/floodlightcontroller/util/serializers/IPv4NetDeserializer.java
+++ b/src/main/java/net/floodlightcontroller/util/serializers/IPv4NetDeserializer.java
@@ -10,7 +10,7 @@
import org.codehaus.jackson.map.JsonDeserializer;
import org.codehaus.jackson.map.DeserializationContext;
-import net.floodlightcontroller.util.IPv4Net;
+import net.onrc.onos.ofcontroller.util.IPv4Net;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/src/main/java/net/floodlightcontroller/util/serializers/IPv4NetSerializer.java b/src/main/java/net/floodlightcontroller/util/serializers/IPv4NetSerializer.java
index 5c5e1d0..83b4e54 100644
--- a/src/main/java/net/floodlightcontroller/util/serializers/IPv4NetSerializer.java
+++ b/src/main/java/net/floodlightcontroller/util/serializers/IPv4NetSerializer.java
@@ -7,7 +7,7 @@
import org.codehaus.jackson.map.JsonSerializer;
import org.codehaus.jackson.map.SerializerProvider;
-import net.floodlightcontroller.util.IPv4Net;
+import net.onrc.onos.ofcontroller.util.IPv4Net;
/**
* Serialize an IPv4Net address as a string.
diff --git a/src/main/java/net/floodlightcontroller/util/serializers/IPv4Serializer.java b/src/main/java/net/floodlightcontroller/util/serializers/IPv4Serializer.java
index ba7d825..ac0be13 100644
--- a/src/main/java/net/floodlightcontroller/util/serializers/IPv4Serializer.java
+++ b/src/main/java/net/floodlightcontroller/util/serializers/IPv4Serializer.java
@@ -7,7 +7,7 @@
import org.codehaus.jackson.map.JsonSerializer;
import org.codehaus.jackson.map.SerializerProvider;
-import net.floodlightcontroller.util.IPv4;
+import net.onrc.onos.ofcontroller.util.IPv4;
/**
* Serialize an IPv4 address as a string.
diff --git a/src/main/java/net/floodlightcontroller/util/serializers/IPv6Deserializer.java b/src/main/java/net/floodlightcontroller/util/serializers/IPv6Deserializer.java
index 818de30..973e47c 100644
--- a/src/main/java/net/floodlightcontroller/util/serializers/IPv6Deserializer.java
+++ b/src/main/java/net/floodlightcontroller/util/serializers/IPv6Deserializer.java
@@ -10,7 +10,7 @@
import org.codehaus.jackson.map.JsonDeserializer;
import org.codehaus.jackson.map.DeserializationContext;
-import net.floodlightcontroller.util.IPv6;
+import net.onrc.onos.ofcontroller.util.IPv6;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/src/main/java/net/floodlightcontroller/util/serializers/IPv6NetDeserializer.java b/src/main/java/net/floodlightcontroller/util/serializers/IPv6NetDeserializer.java
index 375dc26..7297249 100644
--- a/src/main/java/net/floodlightcontroller/util/serializers/IPv6NetDeserializer.java
+++ b/src/main/java/net/floodlightcontroller/util/serializers/IPv6NetDeserializer.java
@@ -10,7 +10,7 @@
import org.codehaus.jackson.map.JsonDeserializer;
import org.codehaus.jackson.map.DeserializationContext;
-import net.floodlightcontroller.util.IPv6Net;
+import net.onrc.onos.ofcontroller.util.IPv6Net;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/src/main/java/net/floodlightcontroller/util/serializers/IPv6NetSerializer.java b/src/main/java/net/floodlightcontroller/util/serializers/IPv6NetSerializer.java
index fc5d262..d0b844e 100644
--- a/src/main/java/net/floodlightcontroller/util/serializers/IPv6NetSerializer.java
+++ b/src/main/java/net/floodlightcontroller/util/serializers/IPv6NetSerializer.java
@@ -7,7 +7,7 @@
import org.codehaus.jackson.map.JsonSerializer;
import org.codehaus.jackson.map.SerializerProvider;
-import net.floodlightcontroller.util.IPv6Net;
+import net.onrc.onos.ofcontroller.util.IPv6Net;
/**
* Serialize an IPv6Net address as a string.
diff --git a/src/main/java/net/floodlightcontroller/util/serializers/IPv6Serializer.java b/src/main/java/net/floodlightcontroller/util/serializers/IPv6Serializer.java
index 0b08a63..54b565f 100644
--- a/src/main/java/net/floodlightcontroller/util/serializers/IPv6Serializer.java
+++ b/src/main/java/net/floodlightcontroller/util/serializers/IPv6Serializer.java
@@ -7,7 +7,7 @@
import org.codehaus.jackson.map.JsonSerializer;
import org.codehaus.jackson.map.SerializerProvider;
-import net.floodlightcontroller.util.IPv6;
+import net.onrc.onos.ofcontroller.util.IPv6;
/**
* Serialize an IPv6 address as a string.