Fix checkstyle whitespace issues - WHITESPACE ONLY
Change-Id: Ic205c1afd639c6008d61d9de95cb764eeb6238ca
diff --git a/src/main/java/net/onrc/onos/core/util/FlowEntryAction.java b/src/main/java/net/onrc/onos/core/util/FlowEntryAction.java
index da86ed3..f619fea 100644
--- a/src/main/java/net/onrc/onos/core/util/FlowEntryAction.java
+++ b/src/main/java/net/onrc/onos/core/util/FlowEntryAction.java
@@ -6,7 +6,7 @@
/**
* The class representing a single Flow Entry action.
- *
+ * <p/>
* A Flow Entry action that needs to be applied to each packet.
* Note that it contains only a single action. Multiple actions are
* listed in a list inside @ref FlowEntryActions.
@@ -14,482 +14,484 @@
public class FlowEntryAction {
/**
* Special action values.
- *
+ * <p/>
* 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
+ 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
+ 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;
- }
+ /**
+ * Constructor for a given value.
+ *
+ * @param value the value to use for the initialization.
+ */
+ private ActionValues(short value) {
+ this.value = value;
+ }
- /**
- * Get the value.
- *
- * @return the value.
- */
- public short getValue() { return value; }
+ /**
+ * Get the value.
+ *
+ * @return the value.
+ */
+ public short getValue() {
+ return value;
+ }
}
/**
* Action structure for ACTION_OUTPUT: Output to switch port.
*/
public static 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
+ 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;
- }
+ /**
+ * Default constructor.
+ */
+ public ActionOutput() {
+ this.port = null;
+ this.maxLen = 0;
+ }
- /**
- * Copy constructor.
- *
- * @param other the object to copy from.
- */
- public ActionOutput(ActionOutput other) {
- if (other.port != null)
- this.port = new Port(other.port);
- this.maxLen = other.maxLen;
- }
+ /**
+ * Copy constructor.
+ *
+ * @param other the object to copy from.
+ */
+ public ActionOutput(ActionOutput other) {
+ if (other.port != null)
+ this.port = new Port(other.port);
+ this.maxLen = other.maxLen;
+ }
- /**
- * Constructor from a string.
- *
- * The string has the following form:
- * [port=XXX maxLen=XXX]
- *
- * @param actionStr the action as a string.
- */
- public ActionOutput(String actionStr) {
- this.fromString(actionStr);
- }
+ /**
+ * Constructor from a string.
+ * <p/>
+ * The string has the following form:
+ * [port=XXX maxLen=XXX]
+ *
+ * @param actionStr the action as a string.
+ */
+ public ActionOutput(String actionStr) {
+ this.fromString(actionStr);
+ }
- /**
- * 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 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;
- }
+ /**
+ * 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 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;
- }
+ /**
+ * 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 += "]";
+ /**
+ * Convert the action to a string.
+ * <p/>
+ * 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;
- }
+ return ret;
+ }
- /**
- * Convert a string to an action.
- *
- * The string has the following form:
- * [port=XXX maxLen=XXX]
- *
- * @param actionStr the action as a string.
- */
- public void fromString(String actionStr) {
- String[] parts = actionStr.split(" ");
- String decode = null;
+ /**
+ * Convert a string to an action.
+ * <p/>
+ * The string has the following form:
+ * [port=XXX maxLen=XXX]
+ *
+ * @param actionStr the action as a string.
+ */
+ public void fromString(String actionStr) {
+ String[] parts = actionStr.split(" ");
+ String decode = null;
- // Decode the "port=XXX" part
- if (parts.length > 0)
- decode = parts[0];
- if (decode != null) {
- String[] tokens = decode.split("port=");
- if (tokens.length > 1 && tokens[1] != null) {
- try {
- Short valueShort = Short.valueOf(tokens[1]);
- port = new Port(valueShort);
- } catch (NumberFormatException e) {
- throw new IllegalArgumentException("Invalid action string");
- }
- }
- } else {
- throw new IllegalArgumentException("Invalid action string");
- }
+ // Decode the "port=XXX" part
+ if (parts.length > 0)
+ decode = parts[0];
+ if (decode != null) {
+ String[] tokens = decode.split("port=");
+ if (tokens.length > 1 && tokens[1] != null) {
+ try {
+ Short valueShort = Short.valueOf(tokens[1]);
+ port = new Port(valueShort);
+ } catch (NumberFormatException e) {
+ throw new IllegalArgumentException("Invalid action string");
+ }
+ }
+ } else {
+ throw new IllegalArgumentException("Invalid action string");
+ }
- // Decode the "maxLen=XXX" part
- decode = null;
- if (parts.length > 1)
- decode = parts[1];
- if (decode != null) {
- decode = decode.replace("]", "");
- String[] tokens = decode.split("maxLen=");
- if (tokens.length > 1 && tokens[1] != null) {
- try {
- maxLen = Short.valueOf(tokens[1]);
- } catch (NumberFormatException e) {
- throw new IllegalArgumentException("Invalid action string");
- }
- }
- } else {
- throw new IllegalArgumentException("Invalid action string");
- }
- }
+ // Decode the "maxLen=XXX" part
+ decode = null;
+ if (parts.length > 1)
+ decode = parts[1];
+ if (decode != null) {
+ decode = decode.replace("]", "");
+ String[] tokens = decode.split("maxLen=");
+ if (tokens.length > 1 && tokens[1] != null) {
+ try {
+ maxLen = Short.valueOf(tokens[1]);
+ } catch (NumberFormatException e) {
+ throw new IllegalArgumentException("Invalid action string");
+ }
+ }
+ } else {
+ throw new IllegalArgumentException("Invalid action string");
+ }
+ }
}
/**
* Action structure for ACTION_SET_VLAN_VID: Set the 802.1q VLAN id
*/
public static class ActionSetVlanId {
- private short vlanId; // The VLAN ID to set
+ private short vlanId; // The VLAN ID to set
- /**
- * Default constructor.
- */
- public ActionSetVlanId() {
- this.vlanId = 0;
- }
+ /**
+ * Default constructor.
+ */
+ public ActionSetVlanId() {
+ this.vlanId = 0;
+ }
- /**
- * Copy constructor.
- *
- * @param other the object to copy from.
- */
- public ActionSetVlanId(ActionSetVlanId other) {
- this.vlanId = other.vlanId;
- }
+ /**
+ * Copy constructor.
+ *
+ * @param other the object to copy from.
+ */
+ public ActionSetVlanId(ActionSetVlanId other) {
+ this.vlanId = other.vlanId;
+ }
- /**
- * Constructor from a string.
- *
- * The string has the following form:
- * [vlanId=XXX]
- *
- * @param actionStr the action as a string.
- */
- public ActionSetVlanId(String actionStr) {
- this.fromString(actionStr);
- }
+ /**
+ * Constructor from a string.
+ * <p/>
+ * The string has the following form:
+ * [vlanId=XXX]
+ *
+ * @param actionStr the action as a string.
+ */
+ public ActionSetVlanId(String actionStr) {
+ this.fromString(actionStr);
+ }
- /**
- * Constructor for a given VLAN ID.
- *
- * @param vlanId the VLAN ID to set.
- */
- public ActionSetVlanId(short vlanId) {
- this.vlanId = vlanId;
- }
+ /**
+ * 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;
- }
+ /**
+ * 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 += "]";
+ /**
+ * Convert the action to a string.
+ * <p/>
+ * 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;
- }
+ return ret;
+ }
- /**
- * Convert a string to an action.
- *
- * The string has the following form:
- * [vlanId=XXX]
- *
- * @param actionStr the action as a string.
- */
- public void fromString(String actionStr) {
- String[] parts = actionStr.split("vlanId=");
- String decode = null;
+ /**
+ * Convert a string to an action.
+ * <p/>
+ * The string has the following form:
+ * [vlanId=XXX]
+ *
+ * @param actionStr the action as a string.
+ */
+ public void fromString(String actionStr) {
+ String[] parts = actionStr.split("vlanId=");
+ String decode = null;
- // Decode the value
- if (parts.length > 1)
- decode = parts[1];
- if (decode != null) {
- decode = decode.replace("]", "");
- try {
- vlanId = Short.valueOf(decode);
- } catch (NumberFormatException e) {
- throw new IllegalArgumentException("Invalid action string");
- }
- } else {
- throw new IllegalArgumentException("Invalid action string");
- }
- }
+ // Decode the value
+ if (parts.length > 1)
+ decode = parts[1];
+ if (decode != null) {
+ decode = decode.replace("]", "");
+ try {
+ vlanId = Short.valueOf(decode);
+ } catch (NumberFormatException e) {
+ throw new IllegalArgumentException("Invalid action string");
+ }
+ } else {
+ throw new IllegalArgumentException("Invalid action string");
+ }
+ }
}
/**
* Action structure for ACTION_SET_VLAN_PCP: Set the 802.1q priority
*/
public static class ActionSetVlanPriority {
- private byte vlanPriority; // The VLAN priority to set
+ private byte vlanPriority; // The VLAN priority to set
- /**
- * Default constructor.
- */
- public ActionSetVlanPriority() {
- this.vlanPriority = 0;
- }
+ /**
+ * Default constructor.
+ */
+ public ActionSetVlanPriority() {
+ this.vlanPriority = 0;
+ }
- /**
- * Copy constructor.
- *
- * @param other the object to copy from.
- */
- public ActionSetVlanPriority(ActionSetVlanPriority other) {
- this.vlanPriority = other.vlanPriority;
- }
+ /**
+ * Copy constructor.
+ *
+ * @param other the object to copy from.
+ */
+ public ActionSetVlanPriority(ActionSetVlanPriority other) {
+ this.vlanPriority = other.vlanPriority;
+ }
- /**
- * Constructor from a string.
- *
- * The string has the following form:
- * [vlanPriority=XXX]
- *
- * @param actionStr the action as a string.
- */
- public ActionSetVlanPriority(String actionStr) {
- this.fromString(actionStr);
- }
+ /**
+ * Constructor from a string.
+ * <p/>
+ * The string has the following form:
+ * [vlanPriority=XXX]
+ *
+ * @param actionStr the action as a string.
+ */
+ public ActionSetVlanPriority(String actionStr) {
+ this.fromString(actionStr);
+ }
- /**
- * Constructor for a given VLAN priority.
- *
- * @param vlanPriority the VLAN priority to set.
- */
- public ActionSetVlanPriority(byte vlanPriority) {
- this.vlanPriority = vlanPriority;
- }
+ /**
+ * 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;
- }
+ /**
+ * 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 += "]";
+ /**
+ * Convert the action to a string.
+ * <p/>
+ * 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;
- }
+ return ret;
+ }
- /**
- * Convert a string to an action.
- *
- * The string has the following form:
- * [vlanPriority=XXX]
- *
- * @param actionStr the action as a string.
- */
- public void fromString(String actionStr) {
- String[] parts = actionStr.split("vlanPriority=");
- String decode = null;
+ /**
+ * Convert a string to an action.
+ * <p/>
+ * The string has the following form:
+ * [vlanPriority=XXX]
+ *
+ * @param actionStr the action as a string.
+ */
+ public void fromString(String actionStr) {
+ String[] parts = actionStr.split("vlanPriority=");
+ String decode = null;
- // Decode the value
- if (parts.length > 1)
- decode = parts[1];
- if (decode != null) {
- decode = decode.replace("]", "");
- try {
- vlanPriority = Byte.valueOf(decode);
- } catch (NumberFormatException e) {
- throw new IllegalArgumentException("Invalid action string");
- }
- } else {
- throw new IllegalArgumentException("Invalid action string");
- }
- }
+ // Decode the value
+ if (parts.length > 1)
+ decode = parts[1];
+ if (decode != null) {
+ decode = decode.replace("]", "");
+ try {
+ vlanPriority = Byte.valueOf(decode);
+ } catch (NumberFormatException e) {
+ throw new IllegalArgumentException("Invalid action string");
+ }
+ } else {
+ throw new IllegalArgumentException("Invalid action string");
+ }
+ }
}
/**
* Action structure for ACTION_STRIP_VLAN: Strip the 802.1q header
*/
public static class ActionStripVlan {
- private boolean stripVlan; // If true, strip the VLAN header
+ private boolean stripVlan; // If true, strip the VLAN header
- /**
- * Default constructor.
- */
- public ActionStripVlan() {
- this.stripVlan = false;
- }
+ /**
+ * Default constructor.
+ */
+ public ActionStripVlan() {
+ this.stripVlan = false;
+ }
- /**
- * Copy constructor.
- *
- * @param other the object to copy from.
- */
- public ActionStripVlan(ActionStripVlan other) {
- this.stripVlan = other.stripVlan;
- }
+ /**
+ * Copy constructor.
+ *
+ * @param other the object to copy from.
+ */
+ public ActionStripVlan(ActionStripVlan other) {
+ this.stripVlan = other.stripVlan;
+ }
- /**
- * Constructor from a string.
- *
- * The string has the following form:
- * [stripVlan=XXX]
- *
- * @param actionStr the action as a string.
- */
- public ActionStripVlan(String actionStr) {
- this.fromString(actionStr);
- }
+ /**
+ * Constructor from a string.
+ * <p/>
+ * The string has the following form:
+ * [stripVlan=XXX]
+ *
+ * @param actionStr the action as a string.
+ */
+ public ActionStripVlan(String actionStr) {
+ this.fromString(actionStr);
+ }
- /**
- * Constructor for a given boolean flag.
- *
- * @param stripVlan if true, strip the VLAN header.
- */
- public ActionStripVlan(boolean stripVlan) {
- this.stripVlan = stripVlan;
- }
+ /**
+ * 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;
- }
+ /**
+ * 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 += "]";
+ /**
+ * Convert the action to a string.
+ * <p/>
+ * 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;
- }
+ return ret;
+ }
- /**
- * Convert a string to an action.
- *
- * The string has the following form:
- * [stripVlan=XXX]
- *
- * @param actionStr the action as a string.
- */
- public void fromString(String actionStr) {
- String[] parts = actionStr.split("stripVlan=");
- String decode = null;
+ /**
+ * Convert a string to an action.
+ * <p/>
+ * The string has the following form:
+ * [stripVlan=XXX]
+ *
+ * @param actionStr the action as a string.
+ */
+ public void fromString(String actionStr) {
+ String[] parts = actionStr.split("stripVlan=");
+ String decode = null;
- // Decode the value
- if (parts.length > 1)
- decode = parts[1];
- if (decode != null) {
- decode = decode.replace("]", "");
- stripVlan = Boolean.valueOf(decode);
- } else {
- throw new IllegalArgumentException("Invalid action string");
- }
- }
+ // Decode the value
+ if (parts.length > 1)
+ decode = parts[1];
+ if (decode != null) {
+ decode = decode.replace("]", "");
+ stripVlan = Boolean.valueOf(decode);
+ } else {
+ throw new IllegalArgumentException("Invalid action string");
+ }
+ }
}
/**
@@ -497,99 +499,99 @@
* Set the Ethernet source/destination address.
*/
public static class ActionSetEthernetAddr {
- private MACAddress addr; // The MAC address to set
+ private MACAddress addr; // The MAC address to set
- /**
- * Default constructor.
- */
- public ActionSetEthernetAddr() {
- this.addr = null;
- }
+ /**
+ * Default constructor.
+ */
+ public ActionSetEthernetAddr() {
+ this.addr = null;
+ }
- /**
- * Copy constructor.
- *
- * @param other the object to copy from.
- */
- public ActionSetEthernetAddr(ActionSetEthernetAddr other) {
- if (other.addr != null)
- this.addr = MACAddress.valueOf(other.addr.toLong());
- }
+ /**
+ * Copy constructor.
+ *
+ * @param other the object to copy from.
+ */
+ public ActionSetEthernetAddr(ActionSetEthernetAddr other) {
+ if (other.addr != null)
+ this.addr = MACAddress.valueOf(other.addr.toLong());
+ }
- /**
- * Constructor from a string.
- *
- * The string has the following form:
- * [addr=XXX]
- *
- * @param actionStr the action as a string.
- */
- public ActionSetEthernetAddr(String actionStr) {
- this.fromString(actionStr);
- }
+ /**
+ * Constructor from a string.
+ * <p/>
+ * The string has the following form:
+ * [addr=XXX]
+ *
+ * @param actionStr the action as a string.
+ */
+ public ActionSetEthernetAddr(String actionStr) {
+ this.fromString(actionStr);
+ }
- /**
- * Constructor for a given MAC address.
- *
- * @param addr the MAC address to set.
- */
- public ActionSetEthernetAddr(MACAddress addr) {
- this.addr = addr;
- }
+ /**
+ * 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;
- }
+ /**
+ * 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 += "]";
+ /**
+ * Convert the action to a string.
+ * <p/>
+ * 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;
- }
+ return ret;
+ }
- /**
- * Convert a string to an action.
- *
- * The string has the following form:
- * [addr=XXX]
- *
- * @param actionStr the action as a string.
- */
- public void fromString(String actionStr) {
- String[] parts = actionStr.split("addr=");
- String decode = null;
+ /**
+ * Convert a string to an action.
+ * <p/>
+ * The string has the following form:
+ * [addr=XXX]
+ *
+ * @param actionStr the action as a string.
+ */
+ public void fromString(String actionStr) {
+ String[] parts = actionStr.split("addr=");
+ String decode = null;
- // Decode the value
- if (parts.length > 1)
- decode = parts[1];
- if (decode != null) {
- decode = decode.replace("]", "");
- try {
- addr = MACAddress.valueOf(decode);
- } catch (IllegalArgumentException e) {
- throw new IllegalArgumentException("Invalid action string");
- }
- } else {
- throw new IllegalArgumentException("Invalid action string");
- }
- }
+ // Decode the value
+ if (parts.length > 1)
+ decode = parts[1];
+ if (decode != null) {
+ decode = decode.replace("]", "");
+ try {
+ addr = MACAddress.valueOf(decode);
+ } catch (IllegalArgumentException e) {
+ throw new IllegalArgumentException("Invalid action string");
+ }
+ } else {
+ throw new IllegalArgumentException("Invalid action string");
+ }
+ }
}
/**
@@ -597,99 +599,99 @@
* Set the IPv4 source/destination address.
*/
public static class ActionSetIPv4Addr {
- private IPv4 addr; // The IPv4 address to set
+ private IPv4 addr; // The IPv4 address to set
- /**
- * Default constructor.
- */
- public ActionSetIPv4Addr() {
- this.addr = null;
- }
+ /**
+ * Default constructor.
+ */
+ public ActionSetIPv4Addr() {
+ this.addr = null;
+ }
- /**
- * Copy constructor.
- *
- * @param other the object to copy from.
- */
- public ActionSetIPv4Addr(ActionSetIPv4Addr other) {
- if (other.addr != null)
- this.addr = new IPv4(other.addr);
- }
+ /**
+ * Copy constructor.
+ *
+ * @param other the object to copy from.
+ */
+ public ActionSetIPv4Addr(ActionSetIPv4Addr other) {
+ if (other.addr != null)
+ this.addr = new IPv4(other.addr);
+ }
- /**
- * Constructor from a string.
- *
- * The string has the following form:
- * [addr=XXX]
- *
- * @param actionStr the action as a string.
- */
- public ActionSetIPv4Addr(String actionStr) {
- this.fromString(actionStr);
- }
+ /**
+ * Constructor from a string.
+ * <p/>
+ * The string has the following form:
+ * [addr=XXX]
+ *
+ * @param actionStr the action as a string.
+ */
+ public ActionSetIPv4Addr(String actionStr) {
+ this.fromString(actionStr);
+ }
- /**
- * Constructor for a given IPv4 address.
- *
- * @param addr the IPv4 address to set.
- */
- public ActionSetIPv4Addr(IPv4 addr) {
- this.addr = addr;
- }
+ /**
+ * 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;
- }
+ /**
+ * 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 += "]";
+ /**
+ * Convert the action to a string.
+ * <p/>
+ * 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;
- }
+ return ret;
+ }
- /**
- * Convert a string to an action.
- *
- * The string has the following form:
- * [addr=XXX]
- *
- * @param actionStr the action as a string.
- */
- public void fromString(String actionStr) {
- String[] parts = actionStr.split("addr=");
- String decode = null;
+ /**
+ * Convert a string to an action.
+ * <p/>
+ * The string has the following form:
+ * [addr=XXX]
+ *
+ * @param actionStr the action as a string.
+ */
+ public void fromString(String actionStr) {
+ String[] parts = actionStr.split("addr=");
+ String decode = null;
- // Decode the value
- if (parts.length > 1)
- decode = parts[1];
- if (decode != null) {
- decode = decode.replace("]", "");
- try {
- addr = new IPv4(decode);
- } catch (IllegalArgumentException e) {
- throw new IllegalArgumentException("Invalid action string");
- }
- } else {
- throw new IllegalArgumentException("Invalid action string");
- }
- }
+ // Decode the value
+ if (parts.length > 1)
+ decode = parts[1];
+ if (decode != null) {
+ decode = decode.replace("]", "");
+ try {
+ addr = new IPv4(decode);
+ } catch (IllegalArgumentException e) {
+ throw new IllegalArgumentException("Invalid action string");
+ }
+ } else {
+ throw new IllegalArgumentException("Invalid action string");
+ }
+ }
}
/**
@@ -697,98 +699,98 @@
* Set the IP ToS (DSCP field, 6 bits).
*/
public static class ActionSetIpToS {
- private byte ipToS; // The IP ToS to set DSCP field, 6 bits)
+ private byte ipToS; // The IP ToS to set DSCP field, 6 bits)
- /**
- * Default constructor.
- */
- public ActionSetIpToS() {
- this.ipToS = 0;
- }
+ /**
+ * Default constructor.
+ */
+ public ActionSetIpToS() {
+ this.ipToS = 0;
+ }
- /**
- * Copy constructor.
- *
- * @param other the object to copy from.
- */
- public ActionSetIpToS(ActionSetIpToS other) {
- this.ipToS = other.ipToS;
- }
+ /**
+ * Copy constructor.
+ *
+ * @param other the object to copy from.
+ */
+ public ActionSetIpToS(ActionSetIpToS other) {
+ this.ipToS = other.ipToS;
+ }
- /**
- * Constructor from a string.
- *
- * The string has the following form:
- * [ipToS=XXX]
- *
- * @param actionStr the action as a string.
- */
- public ActionSetIpToS(String actionStr) {
- this.fromString(actionStr);
- }
+ /**
+ * Constructor from a string.
+ * <p/>
+ * The string has the following form:
+ * [ipToS=XXX]
+ *
+ * @param actionStr the action as a string.
+ */
+ public ActionSetIpToS(String actionStr) {
+ this.fromString(actionStr);
+ }
- /**
- * 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;
- }
+ /**
+ * 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;
- }
+ /**
+ * 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 += "]";
+ /**
+ * Convert the action to a string.
+ * <p/>
+ * 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;
- }
+ return ret;
+ }
- /**
- * Convert a string to an action.
- *
- * The string has the following form:
- * [ipToS=XXX]
- *
- * @param actionStr the action as a string.
- */
- public void fromString(String actionStr) {
- String[] parts = actionStr.split("ipToS=");
- String decode = null;
+ /**
+ * Convert a string to an action.
+ * <p/>
+ * The string has the following form:
+ * [ipToS=XXX]
+ *
+ * @param actionStr the action as a string.
+ */
+ public void fromString(String actionStr) {
+ String[] parts = actionStr.split("ipToS=");
+ String decode = null;
- // Decode the value
- if (parts.length > 1)
- decode = parts[1];
- if (decode != null) {
- decode = decode.replace("]", "");
- try {
- ipToS = Byte.valueOf(decode);
- } catch (NumberFormatException e) {
- throw new IllegalArgumentException("Invalid action string");
- }
- } else {
- throw new IllegalArgumentException("Invalid action string");
- }
- }
+ // Decode the value
+ if (parts.length > 1)
+ decode = parts[1];
+ if (decode != null) {
+ decode = decode.replace("]", "");
+ try {
+ ipToS = Byte.valueOf(decode);
+ } catch (NumberFormatException e) {
+ throw new IllegalArgumentException("Invalid action string");
+ }
+ } else {
+ throw new IllegalArgumentException("Invalid action string");
+ }
+ }
}
/**
@@ -796,239 +798,239 @@
* Set the TCP/UDP source/destination port.
*/
public static class ActionSetTcpUdpPort {
- private short port; // The TCP/UDP port to set
+ private short port; // The TCP/UDP port to set
- /**
- * Default constructor.
- */
- public ActionSetTcpUdpPort() {
- this.port = 0;
- }
+ /**
+ * Default constructor.
+ */
+ public ActionSetTcpUdpPort() {
+ this.port = 0;
+ }
- /**
- * Copy constructor.
- *
- * @param other the object to copy from.
- */
- public ActionSetTcpUdpPort(ActionSetTcpUdpPort other) {
- this.port = other.port;
- }
+ /**
+ * Copy constructor.
+ *
+ * @param other the object to copy from.
+ */
+ public ActionSetTcpUdpPort(ActionSetTcpUdpPort other) {
+ this.port = other.port;
+ }
- /**
- * Constructor from a string.
- *
- * The string has the following form:
- * [port=XXX]
- *
- * @param actionStr the action as a string.
- */
- public ActionSetTcpUdpPort(String actionStr) {
- this.fromString(actionStr);
- }
+ /**
+ * Constructor from a string.
+ * <p/>
+ * The string has the following form:
+ * [port=XXX]
+ *
+ * @param actionStr the action as a string.
+ */
+ public ActionSetTcpUdpPort(String actionStr) {
+ this.fromString(actionStr);
+ }
- /**
- * Constructor for a given TCP/UDP port.
- *
- * @param port the TCP/UDP port to set.
- */
- public ActionSetTcpUdpPort(short port) {
- this.port = port;
- }
+ /**
+ * 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;
- }
+ /**
+ * 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 += "]";
+ /**
+ * Convert the action to a string.
+ * <p/>
+ * 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;
- }
+ return ret;
+ }
- /**
- * Convert a string to an action.
- *
- * The string has the following form:
- * [port=XXX]
- *
- * @param actionStr the action as a string.
- */
- public void fromString(String actionStr) {
- String[] parts = actionStr.split("port=");
- String decode = null;
+ /**
+ * Convert a string to an action.
+ * <p/>
+ * The string has the following form:
+ * [port=XXX]
+ *
+ * @param actionStr the action as a string.
+ */
+ public void fromString(String actionStr) {
+ String[] parts = actionStr.split("port=");
+ String decode = null;
- // Decode the value
- if (parts.length > 1)
- decode = parts[1];
- if (decode != null) {
- decode = decode.replace("]", "");
- try {
- port = Short.valueOf(decode);
- } catch (NumberFormatException e) {
- throw new IllegalArgumentException("Invalid action string");
- }
- } else {
- throw new IllegalArgumentException("Invalid action string");
- }
- }
+ // Decode the value
+ if (parts.length > 1)
+ decode = parts[1];
+ if (decode != null) {
+ decode = decode.replace("]", "");
+ try {
+ port = Short.valueOf(decode);
+ } catch (NumberFormatException e) {
+ throw new IllegalArgumentException("Invalid action string");
+ }
+ } else {
+ throw new IllegalArgumentException("Invalid action string");
+ }
+ }
}
/**
* Action structure for ACTION_ENQUEUE: Output to queue on port.
*/
public static 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
+ 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;
- }
+ /**
+ * Default constructor.
+ */
+ public ActionEnqueue() {
+ this.port = null;
+ this.queueId = 0;
+ }
- /**
- * Copy constructor.
- *
- * @param other the object to copy from.
- */
- public ActionEnqueue(ActionEnqueue other) {
- if (other.port != null)
- this.port = new Port(other.port);
- this.queueId = other.queueId;
- }
+ /**
+ * Copy constructor.
+ *
+ * @param other the object to copy from.
+ */
+ public ActionEnqueue(ActionEnqueue other) {
+ if (other.port != null)
+ this.port = new Port(other.port);
+ this.queueId = other.queueId;
+ }
- /**
- * Constructor from a string.
- *
- * The string has the following form:
- * [port=XXX queueId=XXX]
- *
- * @param actionStr the action as a string.
- */
- public ActionEnqueue(String actionStr) {
- this.fromString(actionStr);
- }
+ /**
+ * Constructor from a string.
+ * <p/>
+ * The string has the following form:
+ * [port=XXX queueId=XXX]
+ *
+ * @param actionStr the action as a string.
+ */
+ public ActionEnqueue(String actionStr) {
+ this.fromString(actionStr);
+ }
- /**
- * 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;
- }
+ /**
+ * 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 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;
- }
+ /**
+ * 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 += "]";
+ /**
+ * Convert the action to a string.
+ * <p/>
+ * 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;
- }
+ return ret;
+ }
- /**
- * Convert a string to an action.
- *
- * The string has the following form:
- * [port=XXX queueId=XXX]
- *
- * @param actionStr the action as a string.
- */
- public void fromString(String actionStr) {
- String[] parts = actionStr.split(" ");
- String decode = null;
+ /**
+ * Convert a string to an action.
+ * <p/>
+ * The string has the following form:
+ * [port=XXX queueId=XXX]
+ *
+ * @param actionStr the action as a string.
+ */
+ public void fromString(String actionStr) {
+ String[] parts = actionStr.split(" ");
+ String decode = null;
- // Decode the "port=XXX" part
- if (parts.length > 0)
- decode = parts[0];
- if (decode != null) {
- String[] tokens = decode.split("port=");
- if (tokens.length > 1 && tokens[1] != null) {
- try {
- Short valueShort = Short.valueOf(tokens[1]);
- port = new Port(valueShort);
- } catch (NumberFormatException e) {
- throw new IllegalArgumentException("Invalid action string");
- }
- }
- } else {
- throw new IllegalArgumentException("Invalid action string");
- }
+ // Decode the "port=XXX" part
+ if (parts.length > 0)
+ decode = parts[0];
+ if (decode != null) {
+ String[] tokens = decode.split("port=");
+ if (tokens.length > 1 && tokens[1] != null) {
+ try {
+ Short valueShort = Short.valueOf(tokens[1]);
+ port = new Port(valueShort);
+ } catch (NumberFormatException e) {
+ throw new IllegalArgumentException("Invalid action string");
+ }
+ }
+ } else {
+ throw new IllegalArgumentException("Invalid action string");
+ }
- // Decode the "queueId=XXX" part
- decode = null;
- if (parts.length > 1)
- decode = parts[1];
- if (decode != null) {
- decode = decode.replace("]", "");
- String[] tokens = decode.split("queueId=");
- if (tokens.length > 1 && tokens[1] != null) {
- try {
- queueId = Short.valueOf(tokens[1]);
- } catch (NumberFormatException e) {
- throw new IllegalArgumentException("Invalid action string");
- }
- }
- } else {
- throw new IllegalArgumentException("Invalid action string");
- }
- }
+ // Decode the "queueId=XXX" part
+ decode = null;
+ if (parts.length > 1)
+ decode = parts[1];
+ if (decode != null) {
+ decode = decode.replace("]", "");
+ String[] tokens = decode.split("queueId=");
+ if (tokens.length > 1 && tokens[1] != null) {
+ try {
+ queueId = Short.valueOf(tokens[1]);
+ } catch (NumberFormatException e) {
+ throw new IllegalArgumentException("Invalid action string");
+ }
+ }
+ } else {
+ throw new IllegalArgumentException("Invalid action string");
+ }
+ }
}
- private ActionValues actionType; // The action type
+ private ActionValues actionType; // The action type
//
// The actions.
@@ -1051,7 +1053,7 @@
* Default constructor.
*/
public FlowEntryAction() {
- actionType = ActionValues.ACTION_VENDOR; // XXX: Initial value
+ actionType = ActionValues.ACTION_VENDOR; // XXX: Initial value
}
/**
@@ -1060,80 +1062,80 @@
* @param other the object to copy from.
*/
public FlowEntryAction(FlowEntryAction other) {
- this.actionType = other.actionType;
+ this.actionType = other.actionType;
- //
- if (other.actionOutput != null)
- this.actionOutput = new ActionOutput(other.actionOutput);
- else
- this.actionOutput = null;
- //
- if (other.actionSetVlanId != null)
- this.actionSetVlanId = new ActionSetVlanId(other.actionSetVlanId);
- else
- this.actionSetVlanId = null;
- //
- if (other.actionSetVlanPriority != null)
- this.actionSetVlanPriority = new ActionSetVlanPriority(other.actionSetVlanPriority);
- else
- this.actionSetVlanPriority = null;
- //
- if (other.actionStripVlan != null)
- this.actionStripVlan = new ActionStripVlan(other.actionStripVlan);
- else
- this.actionStripVlan = null;
- //
- if (other.actionSetEthernetSrcAddr != null)
- this.actionSetEthernetSrcAddr = new ActionSetEthernetAddr(other.actionSetEthernetSrcAddr);
- else
- this.actionSetEthernetSrcAddr = null;
- //
- if (other.actionSetEthernetDstAddr != null)
- this.actionSetEthernetDstAddr = new ActionSetEthernetAddr(other.actionSetEthernetDstAddr);
- else
- this.actionSetEthernetDstAddr = null;
- //
- if (other.actionSetIPv4SrcAddr != null)
- this.actionSetIPv4SrcAddr = new ActionSetIPv4Addr(other.actionSetIPv4SrcAddr);
- else
- this.actionSetIPv4SrcAddr = null;
- //
- if (other.actionSetIPv4DstAddr != null)
- this.actionSetIPv4DstAddr = new ActionSetIPv4Addr(other.actionSetIPv4DstAddr);
- else
- this.actionSetIPv4DstAddr = null;
- //
- if (other.actionSetIpToS != null)
- this.actionSetIpToS = new ActionSetIpToS(other.actionSetIpToS);
- else
- this.actionSetIpToS = null;
- //
- if (other.actionSetTcpUdpSrcPort != null)
- this.actionSetTcpUdpSrcPort = new ActionSetTcpUdpPort(other.actionSetTcpUdpSrcPort);
- else
- this.actionSetTcpUdpSrcPort = null;
- //
- if (other.actionSetTcpUdpDstPort != null)
- this.actionSetTcpUdpDstPort = new ActionSetTcpUdpPort(other.actionSetTcpUdpDstPort);
- else
- this.actionSetTcpUdpDstPort = null;
- //
- if (other.actionEnqueue != null)
- this.actionEnqueue = new ActionEnqueue(other.actionEnqueue);
- else
- this.actionEnqueue = null;
+ //
+ if (other.actionOutput != null)
+ this.actionOutput = new ActionOutput(other.actionOutput);
+ else
+ this.actionOutput = null;
+ //
+ if (other.actionSetVlanId != null)
+ this.actionSetVlanId = new ActionSetVlanId(other.actionSetVlanId);
+ else
+ this.actionSetVlanId = null;
+ //
+ if (other.actionSetVlanPriority != null)
+ this.actionSetVlanPriority = new ActionSetVlanPriority(other.actionSetVlanPriority);
+ else
+ this.actionSetVlanPriority = null;
+ //
+ if (other.actionStripVlan != null)
+ this.actionStripVlan = new ActionStripVlan(other.actionStripVlan);
+ else
+ this.actionStripVlan = null;
+ //
+ if (other.actionSetEthernetSrcAddr != null)
+ this.actionSetEthernetSrcAddr = new ActionSetEthernetAddr(other.actionSetEthernetSrcAddr);
+ else
+ this.actionSetEthernetSrcAddr = null;
+ //
+ if (other.actionSetEthernetDstAddr != null)
+ this.actionSetEthernetDstAddr = new ActionSetEthernetAddr(other.actionSetEthernetDstAddr);
+ else
+ this.actionSetEthernetDstAddr = null;
+ //
+ if (other.actionSetIPv4SrcAddr != null)
+ this.actionSetIPv4SrcAddr = new ActionSetIPv4Addr(other.actionSetIPv4SrcAddr);
+ else
+ this.actionSetIPv4SrcAddr = null;
+ //
+ if (other.actionSetIPv4DstAddr != null)
+ this.actionSetIPv4DstAddr = new ActionSetIPv4Addr(other.actionSetIPv4DstAddr);
+ else
+ this.actionSetIPv4DstAddr = null;
+ //
+ if (other.actionSetIpToS != null)
+ this.actionSetIpToS = new ActionSetIpToS(other.actionSetIpToS);
+ else
+ this.actionSetIpToS = null;
+ //
+ if (other.actionSetTcpUdpSrcPort != null)
+ this.actionSetTcpUdpSrcPort = new ActionSetTcpUdpPort(other.actionSetTcpUdpSrcPort);
+ else
+ this.actionSetTcpUdpSrcPort = null;
+ //
+ if (other.actionSetTcpUdpDstPort != null)
+ this.actionSetTcpUdpDstPort = new ActionSetTcpUdpPort(other.actionSetTcpUdpDstPort);
+ else
+ this.actionSetTcpUdpDstPort = null;
+ //
+ if (other.actionEnqueue != null)
+ this.actionEnqueue = new ActionEnqueue(other.actionEnqueue);
+ else
+ this.actionEnqueue = null;
}
/**
* Constructor from a string.
- *
+ * <p/>
* The string has the following form:
- * [type=XXX action=XXX]
+ * [type=XXX action=XXX]
*
* @param actionStr the action as a string.
*/
public FlowEntryAction(String actionStr) {
- this.fromString(actionStr);
+ this.fromString(actionStr);
}
/**
@@ -1142,7 +1144,9 @@
* @return the action type.
*/
@JsonProperty("actionType")
- public ActionValues actionType() { return actionType; }
+ public ActionValues actionType() {
+ return actionType;
+ }
/**
* Get the output action.
@@ -1150,7 +1154,9 @@
* @return the output action.
*/
@JsonProperty("actionOutput")
- public ActionOutput actionOutput() { return actionOutput; }
+ public ActionOutput actionOutput() {
+ return actionOutput;
+ }
/**
* Set the output action on a port.
@@ -1159,8 +1165,8 @@
*/
@JsonProperty("actionOutput")
public void setActionOutput(ActionOutput action) {
- actionOutput = action;
- actionType = ActionValues.ACTION_OUTPUT;
+ actionOutput = action;
+ actionType = ActionValues.ACTION_OUTPUT;
}
/**
@@ -1169,8 +1175,8 @@
* @param port the output port to set.
*/
public void setActionOutput(Port port) {
- actionOutput = new ActionOutput(port);
- actionType = ActionValues.ACTION_OUTPUT;
+ actionOutput = new ActionOutput(port);
+ actionType = ActionValues.ACTION_OUTPUT;
}
/**
@@ -1179,9 +1185,9 @@
* @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;
+ Port port = new Port(Port.PortValues.PORT_CONTROLLER);
+ actionOutput = new ActionOutput(port, maxLen);
+ actionType = ActionValues.ACTION_OUTPUT;
}
/**
@@ -1190,7 +1196,9 @@
* @return the action to set the VLAN ID.
*/
@JsonProperty("actionSetVlanId")
- public ActionSetVlanId actionSetVlanId() { return actionSetVlanId; }
+ public ActionSetVlanId actionSetVlanId() {
+ return actionSetVlanId;
+ }
/**
* Set the action to set the VLAN ID.
@@ -1199,8 +1207,8 @@
*/
@JsonProperty("actionSetVlanId")
public void setActionSetVlanId(ActionSetVlanId action) {
- actionSetVlanId = action;
- actionType = ActionValues.ACTION_SET_VLAN_VID;
+ actionSetVlanId = action;
+ actionType = ActionValues.ACTION_SET_VLAN_VID;
}
/**
@@ -1209,8 +1217,8 @@
* @param vlanId the VLAN ID to set.
*/
public void setActionSetVlanId(short vlanId) {
- actionSetVlanId = new ActionSetVlanId(vlanId);
- actionType = ActionValues.ACTION_SET_VLAN_VID;
+ actionSetVlanId = new ActionSetVlanId(vlanId);
+ actionType = ActionValues.ACTION_SET_VLAN_VID;
}
/**
@@ -1220,7 +1228,7 @@
*/
@JsonProperty("actionSetVlanPriority")
public ActionSetVlanPriority actionSetVlanPriority() {
- return actionSetVlanPriority;
+ return actionSetVlanPriority;
}
/**
@@ -1230,8 +1238,8 @@
*/
@JsonProperty("actionSetVlanPriority")
public void setActionSetVlanPriority(ActionSetVlanPriority action) {
- actionSetVlanPriority = action;
- actionType = ActionValues.ACTION_SET_VLAN_PCP;
+ actionSetVlanPriority = action;
+ actionType = ActionValues.ACTION_SET_VLAN_PCP;
}
/**
@@ -1240,8 +1248,8 @@
* @param vlanPriority the VLAN priority to set.
*/
public void setActionSetVlanPriority(byte vlanPriority) {
- actionSetVlanPriority = new ActionSetVlanPriority(vlanPriority);
- actionType = ActionValues.ACTION_SET_VLAN_PCP;
+ actionSetVlanPriority = new ActionSetVlanPriority(vlanPriority);
+ actionType = ActionValues.ACTION_SET_VLAN_PCP;
}
/**
@@ -1251,7 +1259,7 @@
*/
@JsonProperty("actionStripVlan")
public ActionStripVlan actionStripVlan() {
- return actionStripVlan;
+ return actionStripVlan;
}
/**
@@ -1261,8 +1269,8 @@
*/
@JsonProperty("actionStripVlan")
public void setActionStripVlan(ActionStripVlan action) {
- actionStripVlan = action;
- actionType = ActionValues.ACTION_STRIP_VLAN;
+ actionStripVlan = action;
+ actionType = ActionValues.ACTION_STRIP_VLAN;
}
/**
@@ -1271,8 +1279,8 @@
* @param stripVlan if true, strip the VLAN header.
*/
public void setActionStripVlan(boolean stripVlan) {
- actionStripVlan = new ActionStripVlan(stripVlan);
- actionType = ActionValues.ACTION_STRIP_VLAN;
+ actionStripVlan = new ActionStripVlan(stripVlan);
+ actionType = ActionValues.ACTION_STRIP_VLAN;
}
/**
@@ -1282,7 +1290,7 @@
*/
@JsonProperty("actionSetEthernetSrcAddr")
public ActionSetEthernetAddr actionSetEthernetSrcAddr() {
- return actionSetEthernetSrcAddr;
+ return actionSetEthernetSrcAddr;
}
/**
@@ -1292,8 +1300,8 @@
*/
@JsonProperty("actionSetEthernetSrcAddr")
public void setActionSetEthernetSrcAddr(ActionSetEthernetAddr action) {
- actionSetEthernetSrcAddr = action;
- actionType = ActionValues.ACTION_SET_DL_SRC;
+ actionSetEthernetSrcAddr = action;
+ actionType = ActionValues.ACTION_SET_DL_SRC;
}
/**
@@ -1302,8 +1310,8 @@
* @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;
+ actionSetEthernetSrcAddr = new ActionSetEthernetAddr(addr);
+ actionType = ActionValues.ACTION_SET_DL_SRC;
}
/**
@@ -1313,7 +1321,7 @@
*/
@JsonProperty("actionSetEthernetDstAddr")
public ActionSetEthernetAddr actionSetEthernetDstAddr() {
- return actionSetEthernetDstAddr;
+ return actionSetEthernetDstAddr;
}
/**
@@ -1323,8 +1331,8 @@
*/
@JsonProperty("actionSetEthernetDstAddr")
public void setActionSetEthernetDstAddr(ActionSetEthernetAddr action) {
- actionSetEthernetDstAddr = action;
- actionType = ActionValues.ACTION_SET_DL_DST;
+ actionSetEthernetDstAddr = action;
+ actionType = ActionValues.ACTION_SET_DL_DST;
}
/**
@@ -1333,8 +1341,8 @@
* @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;
+ actionSetEthernetDstAddr = new ActionSetEthernetAddr(addr);
+ actionType = ActionValues.ACTION_SET_DL_DST;
}
/**
@@ -1344,7 +1352,7 @@
*/
@JsonProperty("actionSetIPv4SrcAddr")
public ActionSetIPv4Addr actionSetIPv4SrcAddr() {
- return actionSetIPv4SrcAddr;
+ return actionSetIPv4SrcAddr;
}
/**
@@ -1354,8 +1362,8 @@
*/
@JsonProperty("actionSetIPv4SrcAddr")
public void setActionSetIPv4SrcAddr(ActionSetIPv4Addr action) {
- actionSetIPv4SrcAddr = action;
- actionType = ActionValues.ACTION_SET_NW_SRC;
+ actionSetIPv4SrcAddr = action;
+ actionType = ActionValues.ACTION_SET_NW_SRC;
}
/**
@@ -1364,8 +1372,8 @@
* @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;
+ actionSetIPv4SrcAddr = new ActionSetIPv4Addr(addr);
+ actionType = ActionValues.ACTION_SET_NW_SRC;
}
/**
@@ -1375,7 +1383,7 @@
*/
@JsonProperty("actionSetIPv4DstAddr")
public ActionSetIPv4Addr actionSetIPv4DstAddr() {
- return actionSetIPv4DstAddr;
+ return actionSetIPv4DstAddr;
}
/**
@@ -1385,8 +1393,8 @@
*/
@JsonProperty("actionSetIPv4DstAddr")
public void setActionSetIPv4DstAddr(ActionSetIPv4Addr action) {
- actionSetIPv4DstAddr = action;
- actionType = ActionValues.ACTION_SET_NW_DST;
+ actionSetIPv4DstAddr = action;
+ actionType = ActionValues.ACTION_SET_NW_DST;
}
/**
@@ -1395,8 +1403,8 @@
* @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;
+ actionSetIPv4DstAddr = new ActionSetIPv4Addr(addr);
+ actionType = ActionValues.ACTION_SET_NW_DST;
}
/**
@@ -1406,7 +1414,7 @@
*/
@JsonProperty("actionSetIpToS")
public ActionSetIpToS actionSetIpToS() {
- return actionSetIpToS;
+ return actionSetIpToS;
}
/**
@@ -1416,8 +1424,8 @@
*/
@JsonProperty("actionSetIpToS")
public void setActionSetIpToS(ActionSetIpToS action) {
- actionSetIpToS = action;
- actionType = ActionValues.ACTION_SET_NW_TOS;
+ actionSetIpToS = action;
+ actionType = ActionValues.ACTION_SET_NW_TOS;
}
/**
@@ -1426,8 +1434,8 @@
* @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;
+ actionSetIpToS = new ActionSetIpToS(ipToS);
+ actionType = ActionValues.ACTION_SET_NW_TOS;
}
/**
@@ -1437,7 +1445,7 @@
*/
@JsonProperty("actionSetTcpUdpSrcPort")
public ActionSetTcpUdpPort actionSetTcpUdpSrcPort() {
- return actionSetTcpUdpSrcPort;
+ return actionSetTcpUdpSrcPort;
}
/**
@@ -1447,8 +1455,8 @@
*/
@JsonProperty("actionSetTcpUdpSrcPort")
public void setActionSetTcpUdpSrcPort(ActionSetTcpUdpPort action) {
- actionSetTcpUdpSrcPort = action;
- actionType = ActionValues.ACTION_SET_TP_SRC;
+ actionSetTcpUdpSrcPort = action;
+ actionType = ActionValues.ACTION_SET_TP_SRC;
}
/**
@@ -1457,8 +1465,8 @@
* @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;
+ actionSetTcpUdpSrcPort = new ActionSetTcpUdpPort(port);
+ actionType = ActionValues.ACTION_SET_TP_SRC;
}
/**
@@ -1468,7 +1476,7 @@
*/
@JsonProperty("actionSetTcpUdpDstPort")
public ActionSetTcpUdpPort actionSetTcpUdpDstPort() {
- return actionSetTcpUdpDstPort;
+ return actionSetTcpUdpDstPort;
}
/**
@@ -1478,8 +1486,8 @@
*/
@JsonProperty("actionSetTcpUdpDstPort")
public void setActionSetTcpUdpDstPort(ActionSetTcpUdpPort action) {
- actionSetTcpUdpDstPort = action;
- actionType = ActionValues.ACTION_SET_TP_DST;
+ actionSetTcpUdpDstPort = action;
+ actionType = ActionValues.ACTION_SET_TP_DST;
}
/**
@@ -1488,8 +1496,8 @@
* @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;
+ actionSetTcpUdpDstPort = new ActionSetTcpUdpPort(port);
+ actionType = ActionValues.ACTION_SET_TP_DST;
}
/**
@@ -1498,7 +1506,9 @@
* @return the action to output to queue on a port.
*/
@JsonProperty("actionEnqueue")
- public ActionEnqueue actionEnqueue() { return actionEnqueue; }
+ public ActionEnqueue actionEnqueue() {
+ return actionEnqueue;
+ }
/**
* Set the action to output to queue on a port.
@@ -1507,171 +1517,171 @@
*/
@JsonProperty("actionEnqueue")
public void setActionEnqueue(ActionEnqueue action) {
- actionEnqueue = action;
- actionType = ActionValues.ACTION_ENQUEUE;
+ actionEnqueue = action;
+ actionType = ActionValues.ACTION_ENQUEUE;
}
/**
* Set the action to output to queue on a port.
*
- * @param port the port to set.
+ * @param port the port to set.
* @param queueId the queue ID to set.
*/
public void setActionEnqueue(Port port, int queueId) {
- actionEnqueue = new ActionEnqueue(port, queueId);
- actionType = ActionValues.ACTION_ENQUEUE;
+ actionEnqueue = new ActionEnqueue(port, queueId);
+ actionType = ActionValues.ACTION_ENQUEUE;
}
/**
* Convert the action to a string.
- *
+ * <p/>
* The string has the following form:
- * [type=XXX action=XXX]
+ * [type=XXX action=XXX]
*
* @return the action 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;
- case ACTION_VENDOR:
- ret += " action=VENDOR";
- break;
- }
- ret += "]";
+ 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;
+ case ACTION_VENDOR:
+ ret += " action=VENDOR";
+ break;
+ }
+ ret += "]";
- return ret;
+ return ret;
}
/**
* Convert a string to an action.
- *
+ * <p/>
* The string has the following form:
- * [type=XXX action=XXX]
+ * [type=XXX action=XXX]
*
* @param actionStr the action as a string.
*/
public void fromString(String actionStr) {
- String[] parts = actionStr.split("type=");
- String decode = null;
+ String[] parts = actionStr.split("type=");
+ String decode = null;
- // Extract the string after the "type="
- if (parts.length > 1)
- decode = parts[1];
- if (decode == null)
- throw new IllegalArgumentException("Invalid action string");
+ // Extract the string after the "type="
+ if (parts.length > 1)
+ decode = parts[1];
+ if (decode == null)
+ throw new IllegalArgumentException("Invalid action string");
- // Remove the trailing ']'
- if ((decode.length() > 0) && (decode.charAt(decode.length() - 1) == ']')) {
- decode = decode.substring(0, decode.length() - 1);
- } else {
- throw new IllegalArgumentException("Invalid action string");
- }
+ // Remove the trailing ']'
+ if ((decode.length() > 0) && (decode.charAt(decode.length() - 1) == ']')) {
+ decode = decode.substring(0, decode.length() - 1);
+ } else {
+ throw new IllegalArgumentException("Invalid action string");
+ }
- // Extract the type value and the action value
- parts = decode.split(" action=");
+ // Extract the type value and the action value
+ parts = decode.split(" action=");
- // Decode the "type=XXX" payload
- if (parts.length > 0)
- decode = parts[0];
- if (decode != null) {
- try {
- actionType = Enum.valueOf(ActionValues.class, decode);
- } catch (IllegalArgumentException e) {
- throw new IllegalArgumentException("Invalid action string");
- }
- } else {
- throw new IllegalArgumentException("Invalid action string");
- }
+ // Decode the "type=XXX" payload
+ if (parts.length > 0)
+ decode = parts[0];
+ if (decode != null) {
+ try {
+ actionType = Enum.valueOf(ActionValues.class, decode);
+ } catch (IllegalArgumentException e) {
+ throw new IllegalArgumentException("Invalid action string");
+ }
+ } else {
+ throw new IllegalArgumentException("Invalid action string");
+ }
- // Decode the "action=XXX" payload
- decode = null;
- if (parts.length > 1)
- decode = parts[1];
- if (decode == null)
- throw new IllegalArgumentException("Invalid action string");
- //
- try {
- switch (actionType) {
- case ACTION_OUTPUT:
- actionOutput = new ActionOutput(decode);
- break;
- case ACTION_SET_VLAN_VID:
- actionSetVlanId = new ActionSetVlanId(decode);
- break;
- case ACTION_SET_VLAN_PCP:
- actionSetVlanPriority = new ActionSetVlanPriority(decode);
- break;
- case ACTION_STRIP_VLAN:
- actionStripVlan = new ActionStripVlan(decode);
- break;
- case ACTION_SET_DL_SRC:
- actionSetEthernetSrcAddr = new ActionSetEthernetAddr(decode);
- break;
- case ACTION_SET_DL_DST:
- actionSetEthernetDstAddr = new ActionSetEthernetAddr(decode);
- break;
- case ACTION_SET_NW_SRC:
- actionSetIPv4SrcAddr = new ActionSetIPv4Addr(decode);
- break;
- case ACTION_SET_NW_DST:
- actionSetIPv4DstAddr = new ActionSetIPv4Addr(decode);
- break;
- case ACTION_SET_NW_TOS:
- actionSetIpToS = new ActionSetIpToS(decode);
- break;
- case ACTION_SET_TP_SRC:
- actionSetTcpUdpSrcPort = new ActionSetTcpUdpPort(decode);
- break;
- case ACTION_SET_TP_DST:
- actionSetTcpUdpDstPort = new ActionSetTcpUdpPort(decode);
- break;
- case ACTION_ENQUEUE:
- actionEnqueue = new ActionEnqueue(decode);
- break;
- case ACTION_VENDOR:
- // TODO: Handle it as appropriate
- break;
- }
- } catch (IllegalArgumentException e) {
- throw new IllegalArgumentException("Invalid action string");
- }
+ // Decode the "action=XXX" payload
+ decode = null;
+ if (parts.length > 1)
+ decode = parts[1];
+ if (decode == null)
+ throw new IllegalArgumentException("Invalid action string");
+ //
+ try {
+ switch (actionType) {
+ case ACTION_OUTPUT:
+ actionOutput = new ActionOutput(decode);
+ break;
+ case ACTION_SET_VLAN_VID:
+ actionSetVlanId = new ActionSetVlanId(decode);
+ break;
+ case ACTION_SET_VLAN_PCP:
+ actionSetVlanPriority = new ActionSetVlanPriority(decode);
+ break;
+ case ACTION_STRIP_VLAN:
+ actionStripVlan = new ActionStripVlan(decode);
+ break;
+ case ACTION_SET_DL_SRC:
+ actionSetEthernetSrcAddr = new ActionSetEthernetAddr(decode);
+ break;
+ case ACTION_SET_DL_DST:
+ actionSetEthernetDstAddr = new ActionSetEthernetAddr(decode);
+ break;
+ case ACTION_SET_NW_SRC:
+ actionSetIPv4SrcAddr = new ActionSetIPv4Addr(decode);
+ break;
+ case ACTION_SET_NW_DST:
+ actionSetIPv4DstAddr = new ActionSetIPv4Addr(decode);
+ break;
+ case ACTION_SET_NW_TOS:
+ actionSetIpToS = new ActionSetIpToS(decode);
+ break;
+ case ACTION_SET_TP_SRC:
+ actionSetTcpUdpSrcPort = new ActionSetTcpUdpPort(decode);
+ break;
+ case ACTION_SET_TP_DST:
+ actionSetTcpUdpDstPort = new ActionSetTcpUdpPort(decode);
+ break;
+ case ACTION_ENQUEUE:
+ actionEnqueue = new ActionEnqueue(decode);
+ break;
+ case ACTION_VENDOR:
+ // TODO: Handle it as appropriate
+ break;
+ }
+ } catch (IllegalArgumentException e) {
+ throw new IllegalArgumentException("Invalid action string");
+ }
}
}