diff --git a/src/main/java/com/bigswitch/floodlight/vendor/OFActionMirror.java b/src/main/java/com/bigswitch/floodlight/vendor/OFActionMirror.java index e8a5bbfc153b652286d0601780d24cdffd7de641..3b55ca7201234a7d39f76db2416fc3ac1a1e1298 100644 --- a/src/main/java/com/bigswitch/floodlight/vendor/OFActionMirror.java +++ b/src/main/java/com/bigswitch/floodlight/vendor/OFActionMirror.java @@ -95,4 +95,20 @@ public class OFActionMirror extends OFActionBigSwitchVendor { data.writeByte(this.pad1); data.writeByte(this.pad2); } + + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + builder.append(type); + builder.append("["); + builder.append("BSN-MIRROR"); + builder.append(", Dest Port: "); + builder.append(destPort); + builder.append(", Vlan: "); + builder.append(vlanTag); + builder.append(", Copy Stage: "); + builder.append(copyStage); + builder.append("]"); + return builder.toString(); + } } diff --git a/src/main/java/com/bigswitch/floodlight/vendor/OFActionNiciraTtlDecrement.java b/src/main/java/com/bigswitch/floodlight/vendor/OFActionNiciraTtlDecrement.java index 943fb26de2a109c75e05ede2dc2fe8b207e0c9ca..51b829a815f5ee92e2972de55bfb1c94cee4a38a 100644 --- a/src/main/java/com/bigswitch/floodlight/vendor/OFActionNiciraTtlDecrement.java +++ b/src/main/java/com/bigswitch/floodlight/vendor/OFActionNiciraTtlDecrement.java @@ -24,5 +24,13 @@ public class OFActionNiciraTtlDecrement extends OFActionNiciraVendor { data.writeZero(6); } - + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + builder.append(type); + builder.append("["); + builder.append("NICIRA-TTL-DECR"); + builder.append("]"); + return builder.toString(); + } } diff --git a/src/main/java/com/bigswitch/floodlight/vendor/OFActionTunnelDstIP.java b/src/main/java/com/bigswitch/floodlight/vendor/OFActionTunnelDstIP.java index 4ee67650e48b0e59bf67ddd84cd1c3febad44f79..9cd851c634178c22af5edd467712f51104e53e88 100644 --- a/src/main/java/com/bigswitch/floodlight/vendor/OFActionTunnelDstIP.java +++ b/src/main/java/com/bigswitch/floodlight/vendor/OFActionTunnelDstIP.java @@ -64,6 +64,13 @@ public class OFActionTunnelDstIP extends OFActionBigSwitchVendor { @Override public String toString() { - return super.toString() + "; dstIP=" + IPv4.fromIPv4Address(dstIPAddr); + StringBuilder builder = new StringBuilder(); + builder.append(type); + builder.append("["); + builder.append("BSN-SET-TUNNEL-DST-IP"); + builder.append(", IP: "); + builder.append(IPv4.fromIPv4Address(dstIPAddr)); + builder.append("]"); + return builder.toString(); } } diff --git a/src/main/java/net/floodlightcontroller/debugevent/Event.java b/src/main/java/net/floodlightcontroller/debugevent/Event.java index 9da23f1701570d7d711ab154a143820097388e97..e45ec5e7b66e6fa1d8271aa30da4985b90021c18 100644 --- a/src/main/java/net/floodlightcontroller/debugevent/Event.java +++ b/src/main/java/net/floodlightcontroller/debugevent/Event.java @@ -12,6 +12,7 @@ import net.floodlightcontroller.debugevent.IDebugEventService.EventFieldType; import net.floodlightcontroller.devicemanager.SwitchPort; import net.floodlightcontroller.packet.IPv4; +import org.openflow.protocol.OFFlowMod; import org.openflow.util.HexString; public class Event { @@ -143,6 +144,25 @@ public class Event { case IPv4: retMap.put(ec.name(), IPv4.fromIPv4Address((Integer) obj)); break; + case FLOW_MOD_FLAGS: + int flags = (Integer)obj; + StringBuilder builder = new StringBuilder(); + if (flags == 0) { + builder.append("None"); + } + else { + if ((flags & OFFlowMod.OFPFF_SEND_FLOW_REM) != 0) { + builder.append("SEND_FLOW_REM "); + } + if ((flags & OFFlowMod.OFPFF_CHECK_OVERLAP) != 0) { + builder.append("CHECK_OVERLAP "); + } + if ((flags & OFFlowMod.OFPFF_EMERG) != 0) { + builder.append("EMERG "); + } + } + retMap.put(ec.name(), builder.toString()); + break; case LIST_IPV4: @SuppressWarnings("unchecked") List<Integer> ipv4Addresses = (List<Integer>)obj; @@ -216,6 +236,7 @@ public class Event { } else { retMap.put(ec.name(), "-- reference not available --"); } + break; case STRING: case OBJECT: case PRIMITIVE: diff --git a/src/main/java/net/floodlightcontroller/debugevent/IDebugEventService.java b/src/main/java/net/floodlightcontroller/debugevent/IDebugEventService.java index 300f8fa096b9fe98bb45801fd3fb7517f7791757..d40784877061b28f586a3c64cb0b7e939bcf155f 100644 --- a/src/main/java/net/floodlightcontroller/debugevent/IDebugEventService.java +++ b/src/main/java/net/floodlightcontroller/debugevent/IDebugEventService.java @@ -27,6 +27,7 @@ public interface IDebugEventService extends IFloodlightService { enum EventFieldType { DPID, IPv4, MAC, STRING, OBJECT, PRIMITIVE, LIST_IPV4, LIST_ATTACHMENT_POINT, LIST_OBJECT, SREF_LIST_OBJECT, SREF_OBJECT, + FLOW_MOD_FLAGS } /** diff --git a/src/main/java/org/openflow/protocol/action/OFActionDataLayer.java b/src/main/java/org/openflow/protocol/action/OFActionDataLayer.java index de6a92bb6dd51ef9018f31fab94cf376bb722c16..644dc5f2fb53d020f8d8c002d83e0df6e017b8bd 100644 --- a/src/main/java/org/openflow/protocol/action/OFActionDataLayer.java +++ b/src/main/java/org/openflow/protocol/action/OFActionDataLayer.java @@ -23,6 +23,7 @@ package org.openflow.protocol.action; import java.util.Arrays; import net.floodlightcontroller.core.web.serializers.ByteArrayMACSerializer; +import net.floodlightcontroller.util.MACAddress; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import org.jboss.netty.buffer.ChannelBuffer; @@ -95,4 +96,14 @@ public abstract class OFActionDataLayer extends OFAction { } return true; } + + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + builder.append(type); + builder.append("["); + builder.append(MACAddress.valueOf(dataLayerAddress).toString()); + builder.append("]"); + return builder.toString(); + } } \ No newline at end of file diff --git a/src/main/java/org/openflow/protocol/action/OFActionEnqueue.java b/src/main/java/org/openflow/protocol/action/OFActionEnqueue.java index 0ec2fa3312887224e4647f8ebce96cfdd366be8d..537716612ab86bd06e513dfd5f7217fd802ad60e 100644 --- a/src/main/java/org/openflow/protocol/action/OFActionEnqueue.java +++ b/src/main/java/org/openflow/protocol/action/OFActionEnqueue.java @@ -20,7 +20,6 @@ */ package org.openflow.protocol.action; - import org.jboss.netty.buffer.ChannelBuffer; /** @@ -121,4 +120,17 @@ public class OFActionEnqueue extends OFAction { } return true; } + + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + builder.append(type); + builder.append("["); + builder.append("Port: "); + builder.append(port); + builder.append(", Queue Id: "); + builder.append(queueId); + builder.append("]"); + return builder.toString(); + } } \ No newline at end of file diff --git a/src/main/java/org/openflow/protocol/action/OFActionNetworkLayerAddress.java b/src/main/java/org/openflow/protocol/action/OFActionNetworkLayerAddress.java index dc65ae91660c9b305f96e426c9bfab5200b0fb03..67bc5a82203fe5d821aabb19a2d352b6df0eabc6 100644 --- a/src/main/java/org/openflow/protocol/action/OFActionNetworkLayerAddress.java +++ b/src/main/java/org/openflow/protocol/action/OFActionNetworkLayerAddress.java @@ -21,6 +21,8 @@ package org.openflow.protocol.action; +import net.floodlightcontroller.packet.IPv4; + import org.jboss.netty.buffer.ChannelBuffer; /** @@ -83,4 +85,14 @@ public abstract class OFActionNetworkLayerAddress extends OFAction { } return true; } + + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + builder.append(type); + builder.append("["); + builder.append(IPv4.fromIPv4Address(networkAddress)); + builder.append("]"); + return builder.toString(); + } } \ No newline at end of file diff --git a/src/main/java/org/openflow/protocol/action/OFActionNetworkTypeOfService.java b/src/main/java/org/openflow/protocol/action/OFActionNetworkTypeOfService.java index 0d381802c4bab05695fa00b4d4b2cc52ceda0530..ec91c764916beff70ee7bec9e8ba4e7a27f08645 100644 --- a/src/main/java/org/openflow/protocol/action/OFActionNetworkTypeOfService.java +++ b/src/main/java/org/openflow/protocol/action/OFActionNetworkTypeOfService.java @@ -20,7 +20,6 @@ */ package org.openflow.protocol.action; - import org.jboss.netty.buffer.ChannelBuffer; /** @@ -98,4 +97,14 @@ public class OFActionNetworkTypeOfService extends OFAction { } return true; } + + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + builder.append(type); + builder.append("["); + builder.append(networkTypeOfService); + builder.append("]"); + return builder.toString(); + } } \ No newline at end of file diff --git a/src/main/java/org/openflow/protocol/action/OFActionOutput.java b/src/main/java/org/openflow/protocol/action/OFActionOutput.java index b9521d09aa2d7dfb0fe6f8b6592f42feacb92e5e..beca7e4f21f84a146f2b01a0a5585527c8fc67ef 100644 --- a/src/main/java/org/openflow/protocol/action/OFActionOutput.java +++ b/src/main/java/org/openflow/protocol/action/OFActionOutput.java @@ -22,7 +22,6 @@ package org.openflow.protocol.action; import org.jboss.netty.buffer.ChannelBuffer; -import org.openflow.util.U16; /** * @author David Erickson (daviderickson@cs.stanford.edu) - Mar 11, 2010 @@ -152,7 +151,11 @@ public class OFActionOutput extends OFAction implements Cloneable { */ @Override public String toString() { - return "OFActionOutput [maxLength=" + maxLength + ", port=" + U16.f(port) - + ", length=" + length + ", type=" + type + "]"; + StringBuilder builder = new StringBuilder(); + builder.append(type); + builder.append("["); + builder.append(port); + builder.append("]"); + return builder.toString(); } } \ No newline at end of file diff --git a/src/main/java/org/openflow/protocol/action/OFActionStripVirtualLan.java b/src/main/java/org/openflow/protocol/action/OFActionStripVirtualLan.java index 7d6b849a6b6de9434ddfd51a4d9baeff48d8d833..f79c84d391751abeb8e49606382a9e1325264f39 100644 --- a/src/main/java/org/openflow/protocol/action/OFActionStripVirtualLan.java +++ b/src/main/java/org/openflow/protocol/action/OFActionStripVirtualLan.java @@ -50,4 +50,11 @@ public class OFActionStripVirtualLan extends OFAction { // PAD data.writeInt(0); } + + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + builder.append(type); + return builder.toString(); + } } \ No newline at end of file diff --git a/src/main/java/org/openflow/protocol/action/OFActionTransportLayer.java b/src/main/java/org/openflow/protocol/action/OFActionTransportLayer.java index 0bc09c958083da67191026a0f205e8ca54f1c7a9..696c1c7a29d01132c2667e0cda9639b3dcc4eec9 100644 --- a/src/main/java/org/openflow/protocol/action/OFActionTransportLayer.java +++ b/src/main/java/org/openflow/protocol/action/OFActionTransportLayer.java @@ -85,4 +85,14 @@ public abstract class OFActionTransportLayer extends OFAction { } return true; } + + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + builder.append(type); + builder.append("["); + builder.append(transportPort); + builder.append("]"); + return builder.toString(); + } } \ No newline at end of file