[ONOS-3222] Implement toString method for each Packet class
Change-Id: I17d72338d4202117d08b3dca9463be35a87a0c1e
diff --git a/utils/misc/src/main/java/org/onlab/packet/ARP.java b/utils/misc/src/main/java/org/onlab/packet/ARP.java
index dc3c07f..5ea0cad 100644
--- a/utils/misc/src/main/java/org/onlab/packet/ARP.java
+++ b/utils/misc/src/main/java/org/onlab/packet/ARP.java
@@ -14,18 +14,17 @@
* limitations under the License.
*/
-
-
package org.onlab.packet;
import java.nio.ByteBuffer;
import java.util.Arrays;
-import static org.onlab.packet.PacketUtils.*;
+import static com.google.common.base.MoreObjects.toStringHelper;
+import static org.onlab.packet.PacketUtils.checkHeaderLength;
+import static org.onlab.packet.PacketUtils.checkInput;
/**
- *
- *
+ * Representation of an ARP Packet.
*/
public class ARP extends BasePacket {
public static final short HW_TYPE_ETHERNET = 0x1;
@@ -341,27 +340,6 @@
return true;
}
- /*
- * (non-Javadoc)
- *
- * @see java.lang.Object#toString()
- */
- @Override
- public String toString() {
- return "ARP [hardwareType=" + this.hardwareType + ", protocolType="
- + this.protocolType + ", hardwareAddressLength="
- + this.hardwareAddressLength + ", protocolAddressLength="
- + this.protocolAddressLength + ", opCode=" + this.opCode
- + ", senderHardwareAddress="
- + Arrays.toString(this.senderHardwareAddress)
- + ", senderProtocolAddress="
- + Arrays.toString(this.senderProtocolAddress)
- + ", targetHardwareAddress="
- + Arrays.toString(this.targetHardwareAddress)
- + ", targetProtocolAddress="
- + Arrays.toString(this.targetProtocolAddress) + "]";
- }
-
/**
* Builds an ARP reply based on a request.
*
@@ -436,4 +414,18 @@
};
}
+ @Override
+ public String toString() {
+ return toStringHelper(getClass())
+ .add("hardwareType", Short.toString(hardwareType))
+ .add("protocolType", Short.toString(protocolType))
+ .add("hardwareAddressLength", Byte.toString(hardwareAddressLength))
+ .add("protocolAddressLength", Byte.toString(protocolAddressLength))
+ .add("opCode", Short.toString(opCode))
+ .add("senderHardwareAddress", Arrays.toString(senderHardwareAddress))
+ .add("senderProtocolAddress", Arrays.toString(senderProtocolAddress))
+ .add("targetHardwareAddress", Arrays.toString(targetHardwareAddress))
+ .add("targetProtocolAddress", Arrays.toString(targetProtocolAddress))
+ .toString();
+ }
}
diff --git a/utils/misc/src/main/java/org/onlab/packet/BasePacket.java b/utils/misc/src/main/java/org/onlab/packet/BasePacket.java
index 4aece66..d138028 100644
--- a/utils/misc/src/main/java/org/onlab/packet/BasePacket.java
+++ b/utils/misc/src/main/java/org/onlab/packet/BasePacket.java
@@ -14,48 +14,32 @@
* limitations under the License.
*/
-
-
package org.onlab.packet;
/**
- *
- *
+ * Base packet class.
*/
public abstract class BasePacket implements IPacket {
+
protected IPacket parent;
protected IPacket payload;
- /**
- * @return the parent
- */
@Override
public IPacket getParent() {
return this.parent;
}
- /**
- * @param parent
- * the parent to set
- */
@Override
public IPacket setParent(final IPacket parent) {
this.parent = parent;
return this;
}
- /**
- * @return the payload
- */
@Override
public IPacket getPayload() {
return this.payload;
}
- /**
- * @param payload
- * the payload to set
- */
@Override
public IPacket setPayload(final IPacket payload) {
this.payload = payload;
@@ -69,11 +53,6 @@
}
}
- /*
- * (non-Javadoc)
- *
- * @see java.lang.Object#hashCode()
- */
@Override
public int hashCode() {
final int prime = 6733;
@@ -83,11 +62,6 @@
return result;
}
- /*
- * (non-Javadoc)
- *
- * @see java.lang.Object#equals(java.lang.Object)
- */
@Override
public boolean equals(final Object obj) {
if (this == obj) {
diff --git a/utils/misc/src/main/java/org/onlab/packet/DHCP.java b/utils/misc/src/main/java/org/onlab/packet/DHCP.java
index de5b43f..491185d 100644
--- a/utils/misc/src/main/java/org/onlab/packet/DHCP.java
+++ b/utils/misc/src/main/java/org/onlab/packet/DHCP.java
@@ -21,14 +21,16 @@
import java.io.UnsupportedEncodingException;
import java.nio.ByteBuffer;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
import java.util.ListIterator;
import static com.google.common.base.Preconditions.checkArgument;
import static org.onlab.packet.PacketUtils.checkInput;
+import static com.google.common.base.MoreObjects.toStringHelper;
/**
- *
+ * Representation of an DHCP Packet.
*/
public class DHCP extends BasePacket {
/**
@@ -629,4 +631,25 @@
return dhcp;
};
}
+
+ @Override
+ public String toString() {
+ return toStringHelper(getClass())
+ .add("opCode", Byte.toString(opCode))
+ .add("hardwareType", Byte.toString(hardwareType))
+ .add("hardwareAddressLength", Byte.toString(hardwareAddressLength))
+ .add("hops", Byte.toString(hops))
+ .add("transactionId", Integer.toString(transactionId))
+ .add("seconds", Short.toString(seconds))
+ .add("flags", Short.toString(flags))
+ .add("clientIPAddress", Integer.toString(clientIPAddress))
+ .add("yourIPAddress", Integer.toString(yourIPAddress))
+ .add("serverIPAddress", Integer.toString(serverIPAddress))
+ .add("gatewayIPAddress", Integer.toString(gatewayIPAddress))
+ .add("clientHardwareAddress", Arrays.toString(clientHardwareAddress))
+ .add("serverName", serverName)
+ .add("bootFileName", bootFileName)
+ .toString();
+ // TODO: need to handle options
+ }
}
diff --git a/utils/misc/src/main/java/org/onlab/packet/DHCPOption.java b/utils/misc/src/main/java/org/onlab/packet/DHCPOption.java
index 1b6c670..cedd670 100644
--- a/utils/misc/src/main/java/org/onlab/packet/DHCPOption.java
+++ b/utils/misc/src/main/java/org/onlab/packet/DHCPOption.java
@@ -14,14 +14,12 @@
* limitations under the License.
*/
-
-
package org.onlab.packet;
import java.util.Arrays;
/**
- *
+ * Representation of DHCPOption field.
*/
public class DHCPOption {
protected byte code;
@@ -36,8 +34,7 @@
}
/**
- * @param code
- * the code to set
+ * @param code the code to set
* @return this
*/
public DHCPOption setCode(final byte code) {
@@ -53,8 +50,7 @@
}
/**
- * @param length
- * the length to set
+ * @param length the length to set
* @return this
*/
public DHCPOption setLength(final byte length) {
@@ -70,8 +66,7 @@
}
/**
- * @param data
- * the data to set
+ * @param data the data to set
* @return this
*/
public DHCPOption setData(final byte[] data) {
diff --git a/utils/misc/src/main/java/org/onlab/packet/Data.java b/utils/misc/src/main/java/org/onlab/packet/Data.java
index 79abcba..714d237 100644
--- a/utils/misc/src/main/java/org/onlab/packet/Data.java
+++ b/utils/misc/src/main/java/org/onlab/packet/Data.java
@@ -20,6 +20,7 @@
import java.util.Arrays;
+import static com.google.common.base.MoreObjects.toStringHelper;
import static org.onlab.packet.PacketUtils.*;
/**
@@ -129,4 +130,10 @@
};
}
+ @Override
+ public String toString() {
+ return toStringHelper(getClass())
+ .add("data", Arrays.toString(data))
+ .toString();
+ }
}
diff --git a/utils/misc/src/main/java/org/onlab/packet/EAP.java b/utils/misc/src/main/java/org/onlab/packet/EAP.java
index 516938a..8450e59 100644
--- a/utils/misc/src/main/java/org/onlab/packet/EAP.java
+++ b/utils/misc/src/main/java/org/onlab/packet/EAP.java
@@ -19,7 +19,9 @@
package org.onlab.packet;
import java.nio.ByteBuffer;
+import java.util.Arrays;
+import static com.google.common.base.MoreObjects.toStringHelper;
import static org.onlab.packet.PacketUtils.checkHeaderLength;
import static org.onlab.packet.PacketUtils.checkInput;
@@ -54,7 +56,6 @@
protected byte type;
protected byte[] data;
-
/**
* Gets the EAP code.
*
@@ -261,4 +262,15 @@
result = prime * result + this.type;
return result;
}
+
+ @Override
+ public String toString() {
+ return toStringHelper(getClass())
+ .add("code", Byte.toString(code))
+ .add("identifier", Byte.toString(identifier))
+ .add("length", Short.toString(length))
+ .add("type", Byte.toString(type))
+ .add("data", Arrays.toString(data))
+ .toString();
+ }
}
diff --git a/utils/misc/src/main/java/org/onlab/packet/EAPOL.java b/utils/misc/src/main/java/org/onlab/packet/EAPOL.java
index 1820cc3..3849caa 100644
--- a/utils/misc/src/main/java/org/onlab/packet/EAPOL.java
+++ b/utils/misc/src/main/java/org/onlab/packet/EAPOL.java
@@ -20,6 +20,7 @@
import java.nio.ByteBuffer;
+import static com.google.common.base.MoreObjects.toStringHelper;
import static org.onlab.packet.PacketUtils.checkHeaderLength;
import static org.onlab.packet.PacketUtils.checkInput;
@@ -195,5 +196,14 @@
return this;
}
+
+ @Override
+ public String toString() {
+ return toStringHelper(getClass())
+ .add("version", Byte.toString(version))
+ .add("eapolType", Byte.toString(eapolType))
+ .add("packetLength", Short.toString(packetLength))
+ .toString();
+ }
}
diff --git a/utils/misc/src/main/java/org/onlab/packet/Ethernet.java b/utils/misc/src/main/java/org/onlab/packet/Ethernet.java
index 9ab5cab..ab33e80 100644
--- a/utils/misc/src/main/java/org/onlab/packet/Ethernet.java
+++ b/utils/misc/src/main/java/org/onlab/packet/Ethernet.java
@@ -34,7 +34,7 @@
import static org.onlab.packet.PacketUtils.checkInput;
/**
- *
+ * Ethernet Packet.
*/
public class Ethernet extends BasePacket {
private static final String HEXES = "0123456789ABCDEF";
@@ -714,5 +714,4 @@
return eth;
};
}
-
}
diff --git a/utils/misc/src/main/java/org/onlab/packet/ICMP.java b/utils/misc/src/main/java/org/onlab/packet/ICMP.java
index d07a9ba..4c23fff 100644
--- a/utils/misc/src/main/java/org/onlab/packet/ICMP.java
+++ b/utils/misc/src/main/java/org/onlab/packet/ICMP.java
@@ -15,16 +15,15 @@
*/
-
package org.onlab.packet;
import java.nio.ByteBuffer;
+import static com.google.common.base.MoreObjects.toStringHelper;
import static org.onlab.packet.PacketUtils.*;
/**
* Implements ICMP packet format.
- *
*/
public class ICMP extends BasePacket {
protected byte icmpType;
@@ -45,8 +44,7 @@
}
/**
- * @param icmpType
- * to set
+ * @param icmpType to set
* @return this
*/
public ICMP setIcmpType(final byte icmpType) {
@@ -62,8 +60,7 @@
}
/**
- * @param icmpCode
- * code to set
+ * @param icmpCode code to set
* @return this
*/
public ICMP setIcmpCode(final byte icmpCode) {
@@ -79,8 +76,7 @@
}
/**
- * @param checksum
- * the checksum to set
+ * @param checksum the checksum to set
* @return this
*/
public ICMP setChecksum(final short checksum) {
@@ -220,4 +216,13 @@
return icmp;
};
}
+
+ @Override
+ public String toString() {
+ return toStringHelper(getClass())
+ .add("icmpType", Byte.toString(icmpType))
+ .add("icmpCode", Byte.toString(icmpCode))
+ .add("checksum", Short.toString(checksum))
+ .toString();
+ }
}
diff --git a/utils/misc/src/main/java/org/onlab/packet/ICMP6.java b/utils/misc/src/main/java/org/onlab/packet/ICMP6.java
index c898130..45b7a62 100644
--- a/utils/misc/src/main/java/org/onlab/packet/ICMP6.java
+++ b/utils/misc/src/main/java/org/onlab/packet/ICMP6.java
@@ -29,6 +29,7 @@
import java.util.HashMap;
import java.util.Map;
+import static com.google.common.base.MoreObjects.toStringHelper;
import static org.onlab.packet.PacketUtils.checkInput;
/**
@@ -363,4 +364,13 @@
return icmp6;
};
}
+
+ @Override
+ public String toString() {
+ return toStringHelper(getClass())
+ .add("icmpType", Byte.toString(icmpType))
+ .add("icmpCode", Byte.toString(icmpCode))
+ .add("checksum", Short.toString(checksum))
+ .toString();
+ }
}
diff --git a/utils/misc/src/main/java/org/onlab/packet/IGMP.java b/utils/misc/src/main/java/org/onlab/packet/IGMP.java
index 254f132..594b79d 100644
--- a/utils/misc/src/main/java/org/onlab/packet/IGMP.java
+++ b/utils/misc/src/main/java/org/onlab/packet/IGMP.java
@@ -15,16 +15,19 @@
*/
package org.onlab.packet;
+import org.slf4j.Logger;
+
import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import org.slf4j.Logger;
+import java.util.Arrays;
-import static org.slf4j.LoggerFactory.getLogger;
+import static com.google.common.base.MoreObjects.toStringHelper;
import static com.google.common.base.Preconditions.checkNotNull;
import static org.onlab.packet.PacketUtils.checkInput;
+import static org.slf4j.LoggerFactory.getLogger;
/**
@@ -332,4 +335,15 @@
result = prime * result + this.groups.hashCode();
return result;
}
+
+ @Override
+ public String toString() {
+ return toStringHelper(getClass())
+ .add("igmpType", Byte.toString(igmpType))
+ .add("resField", Byte.toString(resField))
+ .add("checksum", Short.toString(checksum))
+ .add("unsupportTypeData", Arrays.toString(unsupportTypeData))
+ .toString();
+ // TODO: need to handle groups
+ }
}
diff --git a/utils/misc/src/main/java/org/onlab/packet/IGMPGroup.java b/utils/misc/src/main/java/org/onlab/packet/IGMPGroup.java
index 70ff556..8be75d4 100644
--- a/utils/misc/src/main/java/org/onlab/packet/IGMPGroup.java
+++ b/utils/misc/src/main/java/org/onlab/packet/IGMPGroup.java
@@ -95,4 +95,18 @@
* @return The serialized message
*/
public abstract byte[] serialize(ByteBuffer bb);
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("[");
+ sb.append("auxInfo= ");
+ sb.append(auxInfo);
+ sb.append("gaddr= ");
+ sb.append(gaddr);
+ sb.append("sources= ");
+ sb.append(sources.toString());
+ sb.append("]");
+ return sb.toString();
+ }
}
diff --git a/utils/misc/src/main/java/org/onlab/packet/IPacket.java b/utils/misc/src/main/java/org/onlab/packet/IPacket.java
index 64e6ac3..2391ad9 100644
--- a/utils/misc/src/main/java/org/onlab/packet/IPacket.java
+++ b/utils/misc/src/main/java/org/onlab/packet/IPacket.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2014 Open Networking Laboratory
+ * Copyright 2015 Open Networking Laboratory
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,21 +14,22 @@
* limitations under the License.
*/
-
-
package org.onlab.packet;
/**
- *
+ * Packet Interface.
*/
public interface IPacket {
+
/**
+ * Obtain the packet payload.
*
* @return the payload
*/
IPacket getPayload();
/**
+ * Assign the packet payload.
*
* @param packet new payload
* @return self
@@ -36,12 +37,14 @@
IPacket setPayload(IPacket packet);
/**
+ * Obtain the parent packet.
*
* @return parent packet
*/
IPacket getParent();
/**
+ * Configure a new parent packet.
*
* @param packet new parent
* @return self
@@ -49,7 +52,7 @@
IPacket setParent(IPacket packet);
/**
- * Reset any checksums as needed, and call resetChecksum on all parents.
+ * Reset any checksum as needed, and call resetChecksum on all parents.
*/
void resetChecksum();
@@ -62,7 +65,7 @@
byte[] serialize();
/**
- * Deserializes this packet layer and all possible payloads.
+ * Deserialize this packet layer and all possible payloads.
*
* NOTE: This method has been deprecated and will be removed in a future
* release. It is now recommended to use the Deserializer function provided
diff --git a/utils/misc/src/main/java/org/onlab/packet/IPv4.java b/utils/misc/src/main/java/org/onlab/packet/IPv4.java
index a5c5f4f..9d31fd6 100644
--- a/utils/misc/src/main/java/org/onlab/packet/IPv4.java
+++ b/utils/misc/src/main/java/org/onlab/packet/IPv4.java
@@ -25,10 +25,11 @@
import java.util.HashMap;
import java.util.Map;
+import static com.google.common.base.MoreObjects.toStringHelper;
import static org.onlab.packet.PacketUtils.*;
/**
- *
+ * Implements IPv4 packet format.
*/
public class IPv4 extends BasePacket {
public static final byte PROTOCOL_ICMP = 0x1;
@@ -730,4 +731,24 @@
return ipv4;
};
}
+
+ @Override
+ public String toString() {
+ return toStringHelper(getClass())
+ .add("version", Byte.toString(version))
+ .add("headerLength", Byte.toString(headerLength))
+ .add("diffServ", Byte.toString(diffServ))
+ .add("totalLength", Short.toString(totalLength))
+ .add("identification", Short.toString(identification))
+ .add("flags", Byte.toString(flags))
+ .add("fragmentOffset", Short.toString(fragmentOffset))
+ .add("ttl", Byte.toString(ttl))
+ .add("protocol", Byte.toString(protocol))
+ .add("checksum", Short.toString(checksum))
+ .add("sourceAddress", Integer.toString(sourceAddress))
+ .add("destinationAddress", Integer.toString(destinationAddress))
+ .add("options", Arrays.toString(options))
+ .add("isTruncated", Boolean.toString(isTruncated))
+ .toString();
+ }
}
diff --git a/utils/misc/src/main/java/org/onlab/packet/IPv6.java b/utils/misc/src/main/java/org/onlab/packet/IPv6.java
index 2e59632..ca8c319 100644
--- a/utils/misc/src/main/java/org/onlab/packet/IPv6.java
+++ b/utils/misc/src/main/java/org/onlab/packet/IPv6.java
@@ -31,6 +31,7 @@
import java.util.HashMap;
import java.util.Map;
+import static com.google.common.base.MoreObjects.toStringHelper;
import static org.onlab.packet.PacketUtils.checkInput;
/**
@@ -381,4 +382,18 @@
return ipv6;
};
}
+
+ @Override
+ public String toString() {
+ return toStringHelper(getClass())
+ .add("version", Byte.toString(version))
+ .add("trafficClass", Byte.toString(trafficClass))
+ .add("flowLabel", Integer.toString(flowLabel))
+ .add("payloadLength", Short.toString(payloadLength))
+ .add("nextHeader", Byte.toString(nextHeader))
+ .add("hopLimit", Byte.toString(hopLimit))
+ .add("sourceAddress", Arrays.toString(sourceAddress))
+ .add("destinationAddress", Arrays.toString(destinationAddress))
+ .toString();
+ }
}
diff --git a/utils/misc/src/main/java/org/onlab/packet/LLC.java b/utils/misc/src/main/java/org/onlab/packet/LLC.java
index 78b4f3f..bd2739f 100644
--- a/utils/misc/src/main/java/org/onlab/packet/LLC.java
+++ b/utils/misc/src/main/java/org/onlab/packet/LLC.java
@@ -20,13 +20,12 @@
import java.nio.ByteBuffer;
+import static com.google.common.base.MoreObjects.toStringHelper;
import static org.onlab.packet.PacketUtils.*;
/**
* This class represents an Link Local Control header that is used in Ethernet
* 802.3.
- *
- *
*/
public class LLC extends BasePacket {
@@ -99,4 +98,13 @@
return llc;
};
}
+
+ @Override
+ public String toString() {
+ return toStringHelper(getClass())
+ .add("dsap", Byte.toString(dsap))
+ .add("ssap", Byte.toString(ssap))
+ .add("ctrl", Byte.toString(ctrl))
+ .toString();
+ }
}
diff --git a/utils/misc/src/main/java/org/onlab/packet/LLDP.java b/utils/misc/src/main/java/org/onlab/packet/LLDP.java
index ae9d717..fe0d419 100644
--- a/utils/misc/src/main/java/org/onlab/packet/LLDP.java
+++ b/utils/misc/src/main/java/org/onlab/packet/LLDP.java
@@ -20,13 +20,15 @@
package org.onlab.packet;
import java.nio.ByteBuffer;
+import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
+import static com.google.common.base.MoreObjects.toStringHelper;
import static org.onlab.packet.PacketUtils.*;
/**
- *
+ * Representation of an LLDP Packet.
*/
public class LLDP extends BasePacket {
public static final byte CHASSIS_TLV_TYPE = 1;
@@ -59,8 +61,7 @@
}
/**
- * @param chassis
- * the chassisId to set
+ * @param chassis the chassisId to set
* @return this
*/
public LLDP setChassisId(final LLDPTLV chassis) {
@@ -76,8 +77,7 @@
}
/**
- * @param portId
- * the portId to set
+ * @param portId the portId to set
* @return this
*/
public LLDP setPortId(final LLDPTLV portId) {
@@ -93,8 +93,7 @@
}
/**
- * @param ttl
- * the ttl to set
+ * @param ttl the ttl to set
* @return this
*/
public LLDP setTtl(final LLDPTLV ttl) {
@@ -110,8 +109,7 @@
}
/**
- * @param optionalTLVList
- * the optionalTLVList to set
+ * @param optionalTLVList the optionalTLVList to set
* @return this
*/
public LLDP setOptionalTLVList(final List<LLDPTLV> optionalTLVList) {
@@ -162,22 +160,22 @@
break;
}
switch (tlv.getType()) {
- case 0x0:
- // can throw this one away, its just an end delimiter
- break;
- case 0x1:
- this.chassisId = tlv;
- break;
- case 0x2:
- this.portId = tlv;
- break;
- case 0x3:
- this.ttl = tlv;
- break;
+ case 0x0:
+ // can throw this one away, its just an end delimiter
+ break;
+ case 0x1:
+ this.chassisId = tlv;
+ break;
+ case 0x2:
+ this.portId = tlv;
+ break;
+ case 0x3:
+ this.ttl = tlv;
+ break;
- default:
- this.optionalTLVList.add(tlv);
- break;
+ default:
+ this.optionalTLVList.add(tlv);
+ break;
}
} while (tlv.getType() != 0 && bb.hasRemaining());
return this;
@@ -273,21 +271,21 @@
break;
}
switch (tlv.getType()) {
- case 0x0:
- // can throw this one away, it's just an end delimiter
- break;
- case 0x1:
- lldp.chassisId = tlv;
- break;
- case 0x2:
- lldp.portId = tlv;
- break;
- case 0x3:
- lldp.ttl = tlv;
- break;
- default:
- lldp.optionalTLVList.add(tlv);
- break;
+ case 0x0:
+ // can throw this one away, it's just an end delimiter
+ break;
+ case 0x1:
+ lldp.chassisId = tlv;
+ break;
+ case 0x2:
+ lldp.portId = tlv;
+ break;
+ case 0x3:
+ lldp.ttl = tlv;
+ break;
+ default:
+ lldp.optionalTLVList.add(tlv);
+ break;
}
currentIndex += tlv.getLength();
@@ -297,4 +295,15 @@
};
}
+ @Override
+ public String toString() {
+ return toStringHelper(getClass())
+ .add("chassisId", Arrays.toString(chassisId.getValue()))
+ .add("portId", Arrays.toString(portId.getValue()))
+ .add("ttl", Arrays.toString(ttl.getValue()))
+ .add("ethType", Short.toString(ethType))
+ .toString();
+
+ // TODO: need to handle optionalTLVList
+ }
}
diff --git a/utils/misc/src/main/java/org/onlab/packet/LLDPTLV.java b/utils/misc/src/main/java/org/onlab/packet/LLDPTLV.java
index 77efe1b..1c51456 100644
--- a/utils/misc/src/main/java/org/onlab/packet/LLDPTLV.java
+++ b/utils/misc/src/main/java/org/onlab/packet/LLDPTLV.java
@@ -30,6 +30,20 @@
protected short length;
protected byte[] value;
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("[");
+ sb.append("type= ");
+ sb.append(type);
+ sb.append("length= ");
+ sb.append(length);
+ sb.append("value= ");
+ sb.append(Arrays.toString(value));
+ sb.append("]");
+ return sb.toString();
+ }
+
/**
* @return the type
*/
diff --git a/utils/misc/src/main/java/org/onlab/packet/MPLS.java b/utils/misc/src/main/java/org/onlab/packet/MPLS.java
index 71c5803..0b918d4 100644
--- a/utils/misc/src/main/java/org/onlab/packet/MPLS.java
+++ b/utils/misc/src/main/java/org/onlab/packet/MPLS.java
@@ -19,8 +19,12 @@
import java.util.HashMap;
import java.util.Map;
+import static com.google.common.base.MoreObjects.toStringHelper;
import static org.onlab.packet.PacketUtils.checkInput;
+/**
+ * Representation of an MPLS Packet.
+ */
public class MPLS extends BasePacket {
public static final int HEADER_LENGTH = 4;
@@ -159,4 +163,14 @@
return mpls;
};
}
+
+ @Override
+ public String toString() {
+ return toStringHelper(getClass())
+ .add("label", Integer.toString(label))
+ .add("bos", Byte.toString(bos))
+ .add("ttl", Byte.toString(ttl))
+ .add("protocol", Byte.toString(protocol))
+ .toString();
+ }
}
diff --git a/utils/misc/src/main/java/org/onlab/packet/ONOSLLDP.java b/utils/misc/src/main/java/org/onlab/packet/ONOSLLDP.java
index 5b3902a..4d5d58b 100644
--- a/utils/misc/src/main/java/org/onlab/packet/ONOSLLDP.java
+++ b/utils/misc/src/main/java/org/onlab/packet/ONOSLLDP.java
@@ -177,9 +177,4 @@
}
return null;
}
-
-
-
-
-
}
diff --git a/utils/misc/src/main/java/org/onlab/packet/PIM.java b/utils/misc/src/main/java/org/onlab/packet/PIM.java
index e6ef0ae..3787510 100755
--- a/utils/misc/src/main/java/org/onlab/packet/PIM.java
+++ b/utils/misc/src/main/java/org/onlab/packet/PIM.java
@@ -22,6 +22,7 @@
import java.util.HashMap;
import java.util.Map;
+import static com.google.common.base.MoreObjects.toStringHelper;
import static org.onlab.packet.PacketUtils.checkInput;
/**
@@ -296,4 +297,14 @@
return pim;
};
}
+
+ @Override
+ public String toString() {
+ return toStringHelper(getClass())
+ .add("version", Byte.toString(version))
+ .add("type", Byte.toString(type))
+ .add("reserved", Byte.toString(reserved))
+ .add("checksum", Short.toString(reserved))
+ .toString();
+ }
}
diff --git a/utils/misc/src/main/java/org/onlab/packet/RADIUS.java b/utils/misc/src/main/java/org/onlab/packet/RADIUS.java
index 297fee7..de0cb39 100644
--- a/utils/misc/src/main/java/org/onlab/packet/RADIUS.java
+++ b/utils/misc/src/main/java/org/onlab/packet/RADIUS.java
@@ -30,6 +30,7 @@
import java.util.Arrays;
import java.util.List;
+import static com.google.common.base.MoreObjects.toStringHelper;
import static org.onlab.packet.PacketUtils.checkHeaderLength;
import static org.onlab.packet.PacketUtils.checkInput;
import static org.slf4j.LoggerFactory.getLogger;
@@ -68,7 +69,7 @@
/**
* Constructs a RADIUS packet with the given code and identifier.
*
- * @param code code
+ * @param code code
* @param identifier identifier
*/
public RADIUS(byte code, byte identifier) {
@@ -313,7 +314,7 @@
* Sets an attribute in the RADIUS packet.
*
* @param attrType the type field of the attribute to set
- * @param value value to be set
+ * @param value value to be set
* @return reference to the attribute object
*/
public RADIUSAttribute setAttribute(byte attrType, byte[] value) {
@@ -328,7 +329,7 @@
* Updates an attribute in the RADIUS packet.
*
* @param attrType the type field of the attribute to update
- * @param value the value to update to
+ * @param value the value to update to
* @return reference to the attribute object
*/
public RADIUSAttribute updateAttribute(byte attrType, byte[] value) {
@@ -420,4 +421,15 @@
return this;
}
+ @Override
+ public String toString() {
+ return toStringHelper(getClass())
+ .add("code", Byte.toString(code))
+ .add("identifier", Byte.toString(identifier))
+ .add("length", Short.toString(length))
+ .add("authenticator", Arrays.toString(authenticator))
+ .toString();
+
+ // TODO: need to handle attributes
+ }
}
diff --git a/utils/misc/src/main/java/org/onlab/packet/RADIUSAttribute.java b/utils/misc/src/main/java/org/onlab/packet/RADIUSAttribute.java
index 9687e37..45f22855 100644
--- a/utils/misc/src/main/java/org/onlab/packet/RADIUSAttribute.java
+++ b/utils/misc/src/main/java/org/onlab/packet/RADIUSAttribute.java
@@ -18,6 +18,8 @@
package org.onlab.packet;
+import java.util.Arrays;
+
/**
* An attribute in a RADIUS packet.
*/
@@ -139,4 +141,17 @@
return this;
}
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("[");
+ sb.append("type= ");
+ sb.append(type);
+ sb.append("length= ");
+ sb.append(length);
+ sb.append("value= ");
+ sb.append(Arrays.toString(value));
+ sb.append("]");
+ return sb.toString();
+ }
}
diff --git a/utils/misc/src/main/java/org/onlab/packet/TCP.java b/utils/misc/src/main/java/org/onlab/packet/TCP.java
index e089f27..6f9f6df 100644
--- a/utils/misc/src/main/java/org/onlab/packet/TCP.java
+++ b/utils/misc/src/main/java/org/onlab/packet/TCP.java
@@ -21,6 +21,7 @@
import java.nio.ByteBuffer;
import java.util.Arrays;
+import static com.google.common.base.MoreObjects.toStringHelper;
import static org.onlab.packet.PacketUtils.*;
/**
@@ -459,4 +460,20 @@
return tcp;
};
}
+
+ @Override
+ public String toString() {
+ return toStringHelper(getClass())
+ .add("sourcePort", Integer.toString(sourcePort))
+ .add("destinationPort", Integer.toString(destinationPort))
+ .add("sequence", Integer.toString(sequence))
+ .add("acknowledge", Integer.toString(acknowledge))
+ .add("dataOffset", Byte.toString(dataOffset))
+ .add("flags", Short.toString(flags))
+ .add("windowSize", Short.toString(windowSize))
+ .add("checksum", Short.toString(checksum))
+ .add("urgentPointer", Short.toString(urgentPointer))
+ .add("options", Arrays.toString(options))
+ .toString();
+ }
}
diff --git a/utils/misc/src/main/java/org/onlab/packet/UDP.java b/utils/misc/src/main/java/org/onlab/packet/UDP.java
index a30c9a9..25221fa 100644
--- a/utils/misc/src/main/java/org/onlab/packet/UDP.java
+++ b/utils/misc/src/main/java/org/onlab/packet/UDP.java
@@ -22,6 +22,7 @@
import java.util.HashMap;
import java.util.Map;
+import static com.google.common.base.MoreObjects.toStringHelper;
import static org.onlab.packet.PacketUtils.*;
/**
@@ -303,4 +304,14 @@
return udp;
};
}
+
+ @Override
+ public String toString() {
+ return toStringHelper(getClass())
+ .add("sourcePort", Integer.toString(sourcePort))
+ .add("destinationPort", Integer.toString(destinationPort))
+ .add("length", Short.toString(length))
+ .add("checksum", Short.toString(checksum))
+ .toString();
+ }
}
diff --git a/utils/misc/src/main/java/org/onlab/packet/ipv6/Authentication.java b/utils/misc/src/main/java/org/onlab/packet/ipv6/Authentication.java
index ec04a81..5af4d92 100644
--- a/utils/misc/src/main/java/org/onlab/packet/ipv6/Authentication.java
+++ b/utils/misc/src/main/java/org/onlab/packet/ipv6/Authentication.java
@@ -26,6 +26,7 @@
import java.nio.ByteBuffer;
import java.util.Arrays;
+import static com.google.common.base.MoreObjects.toStringHelper;
import static org.onlab.packet.PacketUtils.checkInput;
/**
@@ -297,4 +298,15 @@
return authentication;
};
}
+
+ @Override
+ public String toString() {
+ return toStringHelper(getClass())
+ .add("nextHeader", Byte.toString(nextHeader))
+ .add("payloadLength", Byte.toString(payloadLength))
+ .add("securityParamIndex", Integer.toString(securityParamIndex))
+ .add("sequence", Integer.toString(sequence))
+ .add("integrityCheck", Arrays.toString(integrityCheck))
+ .toString();
+ }
}
diff --git a/utils/misc/src/main/java/org/onlab/packet/ipv6/BaseOptions.java b/utils/misc/src/main/java/org/onlab/packet/ipv6/BaseOptions.java
index f57b756..6c323ae 100644
--- a/utils/misc/src/main/java/org/onlab/packet/ipv6/BaseOptions.java
+++ b/utils/misc/src/main/java/org/onlab/packet/ipv6/BaseOptions.java
@@ -26,6 +26,7 @@
import java.nio.ByteBuffer;
import java.util.Arrays;
+import static com.google.common.base.MoreObjects.toStringHelper;
import static org.onlab.packet.PacketUtils.checkHeaderLength;
import static org.onlab.packet.PacketUtils.checkInput;
@@ -257,4 +258,14 @@
return baseOptions;
};
}
+
+ @Override
+ public String toString() {
+ return toStringHelper(getClass())
+ .add("nextHeader", Byte.toString(nextHeader))
+ .add("headerExtLength", Byte.toString(headerExtLength))
+ .add("options", Arrays.toString(options))
+ .add("type", Short.toString(type))
+ .toString();
+ }
}
diff --git a/utils/misc/src/main/java/org/onlab/packet/ipv6/EncapSecurityPayload.java b/utils/misc/src/main/java/org/onlab/packet/ipv6/EncapSecurityPayload.java
index e46a126..13c0545 100644
--- a/utils/misc/src/main/java/org/onlab/packet/ipv6/EncapSecurityPayload.java
+++ b/utils/misc/src/main/java/org/onlab/packet/ipv6/EncapSecurityPayload.java
@@ -24,6 +24,7 @@
import java.nio.ByteBuffer;
+import static com.google.common.base.MoreObjects.toStringHelper;
import static org.onlab.packet.PacketUtils.checkInput;
/**
@@ -185,4 +186,12 @@
return encapSecurityPayload;
};
}
+
+ @Override
+ public String toString() {
+ return toStringHelper(getClass())
+ .add("securityParamIndex", Integer.toString(securityParamIndex))
+ .add("sequence", Integer.toString(sequence))
+ .toString();
+ }
}
diff --git a/utils/misc/src/main/java/org/onlab/packet/ipv6/Fragment.java b/utils/misc/src/main/java/org/onlab/packet/ipv6/Fragment.java
index 68015d3..9fb1529 100644
--- a/utils/misc/src/main/java/org/onlab/packet/ipv6/Fragment.java
+++ b/utils/misc/src/main/java/org/onlab/packet/ipv6/Fragment.java
@@ -25,6 +25,7 @@
import java.nio.ByteBuffer;
+import static com.google.common.base.MoreObjects.toStringHelper;
import static org.onlab.packet.PacketUtils.checkInput;
/**
@@ -250,4 +251,14 @@
return fragment;
};
}
+
+ @Override
+ public String toString() {
+ return toStringHelper(getClass())
+ .add("nextHeader", Byte.toString(nextHeader))
+ .add("fragmentOffset", Short.toString(fragmentOffset))
+ .add("moreFragment", Byte.toString(moreFragment))
+ .add("identification", Integer.toString(identification))
+ .toString();
+ }
}
diff --git a/utils/misc/src/main/java/org/onlab/packet/ipv6/Routing.java b/utils/misc/src/main/java/org/onlab/packet/ipv6/Routing.java
index d7d204a..5a7ae45 100644
--- a/utils/misc/src/main/java/org/onlab/packet/ipv6/Routing.java
+++ b/utils/misc/src/main/java/org/onlab/packet/ipv6/Routing.java
@@ -26,6 +26,7 @@
import java.nio.ByteBuffer;
import java.util.Arrays;
+import static com.google.common.base.MoreObjects.toStringHelper;
import static org.onlab.packet.PacketUtils.checkHeaderLength;
import static org.onlab.packet.PacketUtils.checkInput;
@@ -288,4 +289,15 @@
return routing;
};
}
+
+ @Override
+ public String toString() {
+ return toStringHelper(getClass())
+ .add("nextHeader", Byte.toString(nextHeader))
+ .add("headerExtLength", Byte.toString(headerExtLength))
+ .add("routingType", Byte.toString(routingType))
+ .add("segmentsLeft", Byte.toString(segmentsLeft))
+ .add("routingData", Arrays.toString(routingData))
+ .toString();
+ }
}
diff --git a/utils/misc/src/main/java/org/onlab/packet/ndp/NeighborAdvertisement.java b/utils/misc/src/main/java/org/onlab/packet/ndp/NeighborAdvertisement.java
index 99fa0dd..ed02d87 100644
--- a/utils/misc/src/main/java/org/onlab/packet/ndp/NeighborAdvertisement.java
+++ b/utils/misc/src/main/java/org/onlab/packet/ndp/NeighborAdvertisement.java
@@ -24,6 +24,7 @@
import java.util.Arrays;
import java.util.List;
+import static com.google.common.base.MoreObjects.toStringHelper;
import static org.onlab.packet.PacketUtils.checkInput;
/**
@@ -275,4 +276,14 @@
return neighborAdvertisement;
};
}
+
+ @Override
+ public String toString() {
+ return toStringHelper(getClass())
+ .add("routerFlag", Byte.toString(routerFlag))
+ .add("solicitedFlag", Byte.toString(solicitedFlag))
+ .add("overrideFlag", Byte.toString(overrideFlag))
+ .add("targetAddress", Arrays.toString(targetAddress))
+ .toString();
+ }
}
diff --git a/utils/misc/src/main/java/org/onlab/packet/ndp/NeighborDiscoveryOptions.java b/utils/misc/src/main/java/org/onlab/packet/ndp/NeighborDiscoveryOptions.java
index 00a2606..18c0143 100644
--- a/utils/misc/src/main/java/org/onlab/packet/ndp/NeighborDiscoveryOptions.java
+++ b/utils/misc/src/main/java/org/onlab/packet/ndp/NeighborDiscoveryOptions.java
@@ -25,6 +25,7 @@
import java.util.Arrays;
import java.util.List;
+import static com.google.common.base.MoreObjects.toStringHelper;
import static org.onlab.packet.PacketUtils.checkInput;
/**
@@ -117,6 +118,18 @@
private int optionWireLength() {
return 8 * optionLengthField();
}
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("[");
+ sb.append("type= ");
+ sb.append(type);
+ sb.append("data= ");
+ sb.append(data);
+ sb.append("]");
+ return sb.toString();
+ }
}
/**
@@ -278,4 +291,11 @@
return ndo;
};
}
+
+ @Override
+ public String toString() {
+ return toStringHelper(getClass())
+ .toString();
+ // TODO: need to handle options
+ }
}
diff --git a/utils/misc/src/main/java/org/onlab/packet/ndp/NeighborSolicitation.java b/utils/misc/src/main/java/org/onlab/packet/ndp/NeighborSolicitation.java
index 77c119a..ce3b7b7 100644
--- a/utils/misc/src/main/java/org/onlab/packet/ndp/NeighborSolicitation.java
+++ b/utils/misc/src/main/java/org/onlab/packet/ndp/NeighborSolicitation.java
@@ -24,6 +24,7 @@
import java.util.Arrays;
import java.util.List;
+import static com.google.common.base.MoreObjects.toStringHelper;
import static org.onlab.packet.PacketUtils.checkInput;
/**
@@ -189,4 +190,12 @@
return neighborSolicitation;
};
}
+
+ @Override
+ public String toString() {
+ return toStringHelper(getClass())
+ .add("targetAddress", Arrays.toString(targetAddress))
+ .toString();
+ // TODO: need to handle options
+ }
}
diff --git a/utils/misc/src/main/java/org/onlab/packet/ndp/Redirect.java b/utils/misc/src/main/java/org/onlab/packet/ndp/Redirect.java
index 51256d4..2d2e061 100644
--- a/utils/misc/src/main/java/org/onlab/packet/ndp/Redirect.java
+++ b/utils/misc/src/main/java/org/onlab/packet/ndp/Redirect.java
@@ -24,6 +24,7 @@
import java.util.Arrays;
import java.util.List;
+import static com.google.common.base.MoreObjects.toStringHelper;
import static org.onlab.packet.PacketUtils.checkInput;
/**
@@ -222,4 +223,12 @@
return redirect;
};
}
+
+ @Override
+ public String toString() {
+ return toStringHelper(getClass())
+ .add("targetAddress", Arrays.toString(targetAddress))
+ .add("destinationAddress", Arrays.toString(destinationAddress))
+ .toString();
+ }
}
diff --git a/utils/misc/src/main/java/org/onlab/packet/ndp/RouterAdvertisement.java b/utils/misc/src/main/java/org/onlab/packet/ndp/RouterAdvertisement.java
index 597fc9f..43f4f38 100644
--- a/utils/misc/src/main/java/org/onlab/packet/ndp/RouterAdvertisement.java
+++ b/utils/misc/src/main/java/org/onlab/packet/ndp/RouterAdvertisement.java
@@ -22,6 +22,7 @@
import java.nio.ByteBuffer;
import java.util.List;
+import static com.google.common.base.MoreObjects.toStringHelper;
import static org.onlab.packet.PacketUtils.checkInput;
/**
@@ -322,4 +323,17 @@
return routerAdvertisement;
};
}
+
+ @Override
+ public String toString() {
+ return toStringHelper(getClass())
+ .add("currentHopLimit", Byte.toString(currentHopLimit))
+ .add("mFlag", Byte.toString(mFlag))
+ .add("oFlag", Byte.toString(oFlag))
+ .add("routerLifetime", Short.toString(routerLifetime))
+ .add("reachableTime", Integer.toString(reachableTime))
+ .add("retransmitTimer", Integer.toString(retransmitTimer))
+ .toString();
+ // TODO: need to handle optionis
+ }
}
diff --git a/utils/misc/src/main/java/org/onlab/packet/ndp/RouterSolicitation.java b/utils/misc/src/main/java/org/onlab/packet/ndp/RouterSolicitation.java
index e279a40..20b6673 100644
--- a/utils/misc/src/main/java/org/onlab/packet/ndp/RouterSolicitation.java
+++ b/utils/misc/src/main/java/org/onlab/packet/ndp/RouterSolicitation.java
@@ -22,6 +22,7 @@
import java.nio.ByteBuffer;
import java.util.List;
+import static com.google.common.base.MoreObjects.toStringHelper;
import static org.onlab.packet.PacketUtils.checkInput;
/**
@@ -152,4 +153,11 @@
return routerSolicitation;
};
}
+
+ @Override
+ public String toString() {
+ return toStringHelper(getClass())
+ .toString();
+ // TODO: need to handle options
+ }
}
diff --git a/utils/misc/src/main/java/org/onlab/packet/pim/PIMHello.java b/utils/misc/src/main/java/org/onlab/packet/pim/PIMHello.java
index 9ad3fdb..4d42f32 100644
--- a/utils/misc/src/main/java/org/onlab/packet/pim/PIMHello.java
+++ b/utils/misc/src/main/java/org/onlab/packet/pim/PIMHello.java
@@ -23,6 +23,7 @@
import java.util.HashMap;
import java.util.Map;
+import static com.google.common.base.MoreObjects.toStringHelper;
import static org.onlab.packet.PacketUtils.checkInput;
public class PIMHello extends BasePacket {
@@ -115,4 +116,13 @@
return hello;
};
}
+
+ @Override
+ public String toString() {
+ return toStringHelper(getClass())
+ .add("nbrIpAddress", nbrIpAddress.toString())
+ .add("priorityPresent", Boolean.toString(priorityPresent))
+ .toString();
+ // TODO: need to handle options
+ }
}
diff --git a/utils/misc/src/main/java/org/onlab/packet/pim/PIMJoinPrune.java b/utils/misc/src/main/java/org/onlab/packet/pim/PIMJoinPrune.java
index 9653115..45fe287 100644
--- a/utils/misc/src/main/java/org/onlab/packet/pim/PIMJoinPrune.java
+++ b/utils/misc/src/main/java/org/onlab/packet/pim/PIMJoinPrune.java
@@ -23,6 +23,7 @@
import java.nio.ByteBuffer;
import java.util.HashMap;
+import static com.google.common.base.MoreObjects.toStringHelper;
import static org.onlab.packet.PacketUtils.checkInput;
public class PIMJoinPrune extends BasePacket {
@@ -268,4 +269,13 @@
return jp;
};
}
+
+ @Override
+ public String toString() {
+ return toStringHelper(getClass())
+ .add("upstreamAddr", upstreamAddr.toString())
+ .add("holdTime", Short.toString(holdTime))
+ .toString();
+ // TODO: need to handle joinPrunes
+ }
}
diff --git a/utils/misc/src/test/java/org/onlab/packet/ArpTest.java b/utils/misc/src/test/java/org/onlab/packet/ArpTest.java
index 6224624..c057176 100644
--- a/utils/misc/src/test/java/org/onlab/packet/ArpTest.java
+++ b/utils/misc/src/test/java/org/onlab/packet/ArpTest.java
@@ -16,6 +16,7 @@
package org.onlab.packet;
+import org.apache.commons.lang3.StringUtils;
import org.junit.Before;
import org.junit.Test;
@@ -45,7 +46,7 @@
@Before
public void setUp() {
ByteBuffer bb = ByteBuffer.allocate(ARP.INITIAL_HEADER_LENGTH +
- 2 * hwAddressLength + 2 * protoAddressLength);
+ 2 * hwAddressLength + 2 * protoAddressLength);
bb.putShort(ARP.HW_TYPE_ETHERNET);
bb.putShort(ARP.PROTO_TYPE_IP);
bb.put(hwAddressLength);
@@ -70,6 +71,9 @@
PacketTestUtils.testDeserializeTruncated(deserializer, byteHeader);
}
+ /**
+ * Tests deserialize and getters.
+ */
@Test
public void testDeserialize() throws Exception {
ARP arp = deserializer.deserialize(byteHeader, 0, byteHeader.length);
@@ -85,4 +89,19 @@
assertTrue(Arrays.equals(targetMac.toBytes(), arp.getTargetHardwareAddress()));
assertTrue(Arrays.equals(targetIp.toOctets(), arp.getTargetProtocolAddress()));
}
+
+ /**
+ * Tests toString.
+ */
+ @Test
+ public void testToStringArp() throws Exception {
+ ARP arp = deserializer.deserialize(byteHeader, 0, byteHeader.length);
+ String str = arp.toString();
+ assertTrue(StringUtils.contains(str, "hardwareAddressLength=" + hwAddressLength));
+ assertTrue(StringUtils.contains(str, "protocolAddressLength=" + protoAddressLength));
+ assertTrue(StringUtils.contains(str, "senderHardwareAddress=" + Arrays.toString(srcMac.toBytes())));
+ assertTrue(StringUtils.contains(str, "senderProtocolAddress=" + Arrays.toString(srcIp.toOctets())));
+ assertTrue(StringUtils.contains(str, "targetHardwareAddress=" + Arrays.toString(targetMac.toBytes())));
+ assertTrue(StringUtils.contains(str, "targetProtocolAddress=" + Arrays.toString(targetIp.toOctets())));
+ }
}
diff --git a/utils/misc/src/test/java/org/onlab/packet/DhcpTest.java b/utils/misc/src/test/java/org/onlab/packet/DhcpTest.java
index aac8141..085adf9 100644
--- a/utils/misc/src/test/java/org/onlab/packet/DhcpTest.java
+++ b/utils/misc/src/test/java/org/onlab/packet/DhcpTest.java
@@ -17,6 +17,7 @@
package org.onlab.packet;
import com.google.common.base.Charsets;
+import org.apache.commons.lang3.StringUtils;
import org.junit.Before;
import org.junit.Test;
@@ -111,6 +112,9 @@
PacketTestUtils.testDeserializeTruncated(deserializer, byteHeader);
}
+ /**
+ * Tests deserialize and getters.
+ */
@Test
public void testDeserialize() throws Exception {
DHCP dhcp = deserializer.deserialize(byteHeader, 0, byteHeader.length);
@@ -134,4 +138,28 @@
assertEquals(hostNameOption, dhcp.options.get(0));
}
+ /**
+ * Tests toString.
+ */
+ @Test
+ public void testToStringDhcp() throws Exception {
+ DHCP dhcp = deserializer.deserialize(byteHeader, 0, byteHeader.length);
+ String str = dhcp.toString();
+
+ assertTrue(StringUtils.contains(str, "opCode=" + opCode));
+ assertTrue(StringUtils.contains(str, "hardwareType=" + hardwareType));
+ assertTrue(StringUtils.contains(str, "hardwareAddressLength=" + hardwareAddressLength));
+ assertTrue(StringUtils.contains(str, "hops=" + hops));
+ assertTrue(StringUtils.contains(str, "transactionId=" + transactionId));
+ assertTrue(StringUtils.contains(str, "seconds=" + seconds));
+ assertTrue(StringUtils.contains(str, "flags=" + flags));
+ assertTrue(StringUtils.contains(str, "clientIPAddress=" + clientIpAddress));
+ assertTrue(StringUtils.contains(str, "yourIPAddress=" + yourIpAddress));
+ assertTrue(StringUtils.contains(str, "serverIPAddress=" + serverIpAddress));
+ assertTrue(StringUtils.contains(str, "gatewayIPAddress=" + gatewayIpAddress));
+ assertTrue(StringUtils.contains(str, "clientHardwareAddress=" + Arrays.toString(clientHardwareAddress)));
+ assertTrue(StringUtils.contains(str, "serverName=" + serverName));
+ assertTrue(StringUtils.contains(str, "bootFileName=" + bootFileName));
+ // TODO: add option unit test
+ }
}
diff --git a/utils/misc/src/test/java/org/onlab/packet/ICMP6Test.java b/utils/misc/src/test/java/org/onlab/packet/ICMP6Test.java
index 39ddc24..8616b48 100644
--- a/utils/misc/src/test/java/org/onlab/packet/ICMP6Test.java
+++ b/utils/misc/src/test/java/org/onlab/packet/ICMP6Test.java
@@ -18,6 +18,7 @@
package org.onlab.packet;
+import org.apache.commons.lang3.StringUtils;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -107,4 +108,17 @@
assertTrue(icmp61.equals(icmp61));
assertFalse(icmp61.equals(icmp62));
}
+
+ /**
+ * Tests toString.
+ */
+ @Test
+ public void testToStringIcmp6() throws Exception {
+ ICMP6 icmp6 = ICMP6.deserializer().deserialize(bytePacket, 0, bytePacket.length);
+ String str = icmp6.toString();
+
+ assertTrue(StringUtils.contains(str, "icmpType=" + ICMP6.ECHO_REQUEST));
+ assertTrue(StringUtils.contains(str, "icmpCode=" + (byte) 0x00));
+ assertTrue(StringUtils.contains(str, "checksum=" + (short) 0x82bc));
+ }
}
diff --git a/utils/misc/src/test/java/org/onlab/packet/ICMPTest.java b/utils/misc/src/test/java/org/onlab/packet/ICMPTest.java
index 8514aa5..e836dc4 100644
--- a/utils/misc/src/test/java/org/onlab/packet/ICMPTest.java
+++ b/utils/misc/src/test/java/org/onlab/packet/ICMPTest.java
@@ -16,12 +16,14 @@
package org.onlab.packet;
+import org.apache.commons.lang3.StringUtils;
import org.junit.Before;
import org.junit.Test;
import java.nio.ByteBuffer;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
/**
* Unit tests for the ICMP class.
@@ -59,6 +61,9 @@
PacketTestUtils.testDeserializeTruncated(deserializer, headerBytes);
}
+ /**
+ * Tests deserialize and getters.
+ */
@Test
public void testDeserialize() throws Exception {
ICMP icmp = deserializer.deserialize(headerBytes, 0, headerBytes.length);
@@ -67,4 +72,17 @@
assertEquals(icmpCode, icmp.getIcmpCode());
assertEquals(checksum, icmp.getChecksum());
}
+
+ /**
+ * Tests toString.
+ */
+ @Test
+ public void testToStringIcmp() throws Exception {
+ ICMP icmp = deserializer.deserialize(headerBytes, 0, headerBytes.length);
+ String str = icmp.toString();
+
+ assertTrue(StringUtils.contains(str, "icmpType=" + icmpType));
+ assertTrue(StringUtils.contains(str, "icmpCode=" + icmpCode));
+ assertTrue(StringUtils.contains(str, "checksum=" + checksum));
+ }
}
diff --git a/utils/misc/src/test/java/org/onlab/packet/IGMPTest.java b/utils/misc/src/test/java/org/onlab/packet/IGMPTest.java
index a25f721..7634bbf 100644
--- a/utils/misc/src/test/java/org/onlab/packet/IGMPTest.java
+++ b/utils/misc/src/test/java/org/onlab/packet/IGMPTest.java
@@ -93,4 +93,12 @@
IGMP igmp = deserializer.deserialize(data, 0, data.length);
assertTrue(igmp.equals(igmpMembership));
}
+
+ /**
+ * Tests toString.
+ */
+ @Test
+ public void testToStringIgmp() throws Exception {
+ // TODO: add toString unit test
+ }
}
diff --git a/utils/misc/src/test/java/org/onlab/packet/IPv4Test.java b/utils/misc/src/test/java/org/onlab/packet/IPv4Test.java
index 1bacf2a..8412701 100644
--- a/utils/misc/src/test/java/org/onlab/packet/IPv4Test.java
+++ b/utils/misc/src/test/java/org/onlab/packet/IPv4Test.java
@@ -16,6 +16,7 @@
package org.onlab.packet;
+import org.apache.commons.lang3.StringUtils;
import org.junit.Before;
import org.junit.Test;
@@ -78,6 +79,9 @@
PacketTestUtils.testDeserializeTruncated(deserializer, headerBytes);
}
+ /**
+ * Tests deserialize and getters.
+ */
@Test
public void testDeserialize() throws Exception {
IPv4 ipv4 = deserializer.deserialize(headerBytes, 0, headerBytes.length);
@@ -96,4 +100,26 @@
assertEquals(destinationAddress, ipv4.getDestinationAddress());
assertTrue(ipv4.isTruncated());
}
+
+ /**
+ * Tests toString.
+ */
+ @Test
+ public void testToStringIPv4() throws Exception {
+ IPv4 ipv4 = deserializer.deserialize(headerBytes, 0, headerBytes.length);
+ String str = ipv4.toString();
+
+ assertTrue(StringUtils.contains(str, "version=" + version));
+ assertTrue(StringUtils.contains(str, "headerLength=" + headerLength));
+ assertTrue(StringUtils.contains(str, "diffServ=" + diffServ));
+ assertTrue(StringUtils.contains(str, "totalLength=" + totalLength));
+ assertTrue(StringUtils.contains(str, "identification=" + identification));
+ assertTrue(StringUtils.contains(str, "flags=" + flags));
+ assertTrue(StringUtils.contains(str, "fragmentOffset=" + fragmentOffset));
+ assertTrue(StringUtils.contains(str, "ttl=" + ttl));
+ assertTrue(StringUtils.contains(str, "protocol=" + protocol));
+ assertTrue(StringUtils.contains(str, "checksum=" + checksum));
+ assertTrue(StringUtils.contains(str, "sourceAddress=" + sourceAddress));
+ assertTrue(StringUtils.contains(str, "destinationAddress=" + destinationAddress));
+ }
}
diff --git a/utils/misc/src/test/java/org/onlab/packet/IPv6Test.java b/utils/misc/src/test/java/org/onlab/packet/IPv6Test.java
index 720a4d2..84e2644 100644
--- a/utils/misc/src/test/java/org/onlab/packet/IPv6Test.java
+++ b/utils/misc/src/test/java/org/onlab/packet/IPv6Test.java
@@ -18,6 +18,7 @@
package org.onlab.packet;
+import org.apache.commons.lang3.StringUtils;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -151,4 +152,20 @@
assertTrue(packet1.equals(packet1));
assertFalse(packet1.equals(packet2));
}
+
+ /**
+ * Tests toString.
+ */
+ @Test
+ public void testToStringIPv6() throws Exception {
+ IPv6 ipv6 = deserializer.deserialize(bytePacket, 0, bytePacket.length);
+ String str = ipv6.toString();
+
+ assertTrue(StringUtils.contains(str, "version=" + (byte) 6));
+ assertTrue(StringUtils.contains(str, "trafficClass=" + (byte) 0x93));
+ assertTrue(StringUtils.contains(str, "flowLabel=" + 0x13579));
+ assertTrue(StringUtils.contains(str, "nextHeader=" + IPv6.PROTOCOL_UDP));
+ assertTrue(StringUtils.contains(str, "hopLimit=" + (byte) 32));
+ // TODO: test IPv6 source and destination address
+ }
}
diff --git a/utils/misc/src/test/java/org/onlab/packet/LLCTest.java b/utils/misc/src/test/java/org/onlab/packet/LLCTest.java
index 39bb72f..8154148 100644
--- a/utils/misc/src/test/java/org/onlab/packet/LLCTest.java
+++ b/utils/misc/src/test/java/org/onlab/packet/LLCTest.java
@@ -16,12 +16,14 @@
package org.onlab.packet;
+import org.apache.commons.lang3.StringUtils;
import org.junit.Before;
import org.junit.Test;
import java.nio.ByteBuffer;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
/**
* Unit tests for LLC class.
@@ -59,6 +61,9 @@
PacketTestUtils.testDeserializeTruncated(deserializer, bytes);
}
+ /**
+ * Tests deserialize and getters.
+ */
@Test
public void testDeserialize() throws Exception {
LLC llc = deserializer.deserialize(bytes, 0, bytes.length);
@@ -67,4 +72,17 @@
assertEquals(ssap, llc.getSsap());
assertEquals(ctrl, llc.getCtrl());
}
+
+ /**
+ * Tests toString.
+ */
+ @Test
+ public void testToStringLLC() throws Exception {
+ LLC llc = deserializer.deserialize(bytes, 0, bytes.length);
+ String str = llc.toString();
+
+ assertTrue(StringUtils.contains(str, "dsap=" + dsap));
+ assertTrue(StringUtils.contains(str, "ssap=" + ssap));
+ assertTrue(StringUtils.contains(str, "ctrl=" + ctrl));
+ }
}
diff --git a/utils/misc/src/test/java/org/onlab/packet/LLDPTest.java b/utils/misc/src/test/java/org/onlab/packet/LLDPTest.java
index 95b0b04..154dee7 100644
--- a/utils/misc/src/test/java/org/onlab/packet/LLDPTest.java
+++ b/utils/misc/src/test/java/org/onlab/packet/LLDPTest.java
@@ -89,6 +89,9 @@
PacketTestUtils.testDeserializeTruncated(deserializer, bytes);
}
+ /**
+ * Tests deserialize and getters.
+ */
@Test
public void testDeserialize() throws Exception {
LLDP lldp = deserializer.deserialize(bytes, 0, bytes.length);
@@ -112,4 +115,15 @@
assertEquals(optionalTlvSize, optionalTlv.getLength());
assertTrue(Arrays.equals(optionalTlvValue, optionalTlv.getValue()));
}
+
+ /**
+ * Tests toString.
+ */
+ @Test
+ public void testToStringLLDP() throws Exception {
+ LLDP lldp = deserializer.deserialize(bytes, 0, bytes.length);
+ String str = lldp.toString();
+
+ // TODO: need to add LLDP toString unit test
+ }
}
diff --git a/utils/misc/src/test/java/org/onlab/packet/MplsTest.java b/utils/misc/src/test/java/org/onlab/packet/MplsTest.java
index 2ab8ff9..b08b2e9 100644
--- a/utils/misc/src/test/java/org/onlab/packet/MplsTest.java
+++ b/utils/misc/src/test/java/org/onlab/packet/MplsTest.java
@@ -16,6 +16,7 @@
package org.onlab.packet;
+import org.apache.commons.lang3.StringUtils;
import org.junit.Before;
import org.junit.Test;
@@ -23,6 +24,7 @@
import java.util.HashMap;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
/**
* Unit tests for MPLS class.
@@ -62,6 +64,9 @@
PacketTestUtils.testDeserializeTruncated(deserializer, bytes);
}
+ /**
+ * Tests deserialize and getters.
+ */
@Test
public void testDeserialize() throws Exception {
MPLS mpls = deserializer.deserialize(bytes, 0, bytes.length);
@@ -71,4 +76,18 @@
assertEquals(ttl, mpls.ttl);
assertEquals(protocol, mpls.protocol);
}
+
+ /**
+ * Tests toString.
+ */
+ @Test
+ public void testToStringMpls() throws Exception {
+ MPLS mpls = deserializer.deserialize(bytes, 0, bytes.length);
+ String str = mpls.toString();
+
+ assertTrue(StringUtils.contains(str, "label=" + label));
+ assertTrue(StringUtils.contains(str, "bos=" + bos));
+ assertTrue(StringUtils.contains(str, "ttl=" + ttl));
+ assertTrue(StringUtils.contains(str, "protocol=" + protocol));
+ }
}
diff --git a/utils/misc/src/test/java/org/onlab/packet/PacketTestUtils.java b/utils/misc/src/test/java/org/onlab/packet/PacketTestUtils.java
index 209b1d2..3fcd6b5 100644
--- a/utils/misc/src/test/java/org/onlab/packet/PacketTestUtils.java
+++ b/utils/misc/src/test/java/org/onlab/packet/PacketTestUtils.java
@@ -61,7 +61,7 @@
* deserialize the packet.
*
* @param deserializer deserializer function to test
- * @param header byte array of a full-size packet
+ * @param header byte array of a full-size packet
*/
public static void testDeserializeTruncated(Deserializer deserializer,
byte[] header) {
@@ -82,9 +82,9 @@
* DeserializationException is not thrown by the deserializer function.
*
* @param deserializer deserializer function to test
- * @param bytes input byte array
- * @param offset input offset
- * @param length input length
+ * @param bytes input byte array
+ * @param offset input offset
+ * @param length input length
*/
public static void expectDeserializationException(Deserializer deserializer,
byte[] bytes, int offset, int length) {
diff --git a/utils/misc/src/test/java/org/onlab/packet/TCPTest.java b/utils/misc/src/test/java/org/onlab/packet/TCPTest.java
index faab5c2..1d6814b 100644
--- a/utils/misc/src/test/java/org/onlab/packet/TCPTest.java
+++ b/utils/misc/src/test/java/org/onlab/packet/TCPTest.java
@@ -18,6 +18,7 @@
package org.onlab.packet;
+import org.apache.commons.lang3.StringUtils;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -160,4 +161,23 @@
assertTrue(tcp1.equals(tcp1));
assertFalse(tcp1.equals(tcp2));
}
+
+ /**
+ * Tests toString.
+ */
+ @Test
+ public void testToStringTcp() throws Exception {
+ TCP tcp = deserializer.deserialize(bytePacketTCP4, 0, bytePacketTCP4.length);
+ String str = tcp.toString();
+
+ assertTrue(StringUtils.contains(str, "sourcePort=" + 0x50));
+ assertTrue(StringUtils.contains(str, "destinationPort=" + 0x60));
+ assertTrue(StringUtils.contains(str, "sequence=" + 0x10));
+ assertTrue(StringUtils.contains(str, "acknowledge=" + 0x20));
+ assertTrue(StringUtils.contains(str, "dataOffset=" + (byte) 0x5));
+ assertTrue(StringUtils.contains(str, "flags=" + (short) 0x2));
+ assertTrue(StringUtils.contains(str, "windowSize=" + (short) 0x1000));
+ assertTrue(StringUtils.contains(str, "checksum=" + (short) 0x1bae));
+ assertTrue(StringUtils.contains(str, "urgentPointer=" + (short) 0x1));
+ }
}
diff --git a/utils/misc/src/test/java/org/onlab/packet/UDPTest.java b/utils/misc/src/test/java/org/onlab/packet/UDPTest.java
index ba453f6..4b83897 100644
--- a/utils/misc/src/test/java/org/onlab/packet/UDPTest.java
+++ b/utils/misc/src/test/java/org/onlab/packet/UDPTest.java
@@ -18,6 +18,7 @@
package org.onlab.packet;
+import org.apache.commons.lang3.StringUtils;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -131,4 +132,18 @@
assertTrue(udp1.equals(udp1));
assertFalse(udp1.equals(udp2));
}
+
+ /**
+ * Tests toString.
+ */
+ @Test
+ public void testToStringUdp() throws Exception {
+ UDP udp = deserializer.deserialize(bytePacketUDP4, 0, bytePacketUDP4.length);
+ String str = udp.toString();
+
+ assertTrue(StringUtils.contains(str, "sourcePort=" + 0x50));
+ assertTrue(StringUtils.contains(str, "destinationPort=" + 0x60));
+ assertTrue(StringUtils.contains(str, "length=" + (short) 8));
+ assertTrue(StringUtils.contains(str, "checksum=" + (short) 0x7bda));
+ }
}
diff --git a/utils/misc/src/test/java/org/onlab/packet/ipv6/AuthenticationTest.java b/utils/misc/src/test/java/org/onlab/packet/ipv6/AuthenticationTest.java
index 39ab910..5ca7ea4 100644
--- a/utils/misc/src/test/java/org/onlab/packet/ipv6/AuthenticationTest.java
+++ b/utils/misc/src/test/java/org/onlab/packet/ipv6/AuthenticationTest.java
@@ -16,6 +16,7 @@
package org.onlab.packet.ipv6;
+import org.apache.commons.lang3.StringUtils;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -23,11 +24,10 @@
import org.onlab.packet.Deserializer;
import org.onlab.packet.UDP;
+import java.util.Arrays;
+
import static org.hamcrest.Matchers.is;
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertThat;
-import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.*;
/**
* Tests for class {@link Authentication}.
@@ -118,4 +118,19 @@
assertTrue(auth1.equals(auth1));
assertFalse(auth1.equals(auth2));
}
+
+ /**
+ * Tests toString.
+ */
+ @Test
+ public void testToStringAuthentication() throws Exception {
+ Authentication auth = deserializer.deserialize(bytePacket, 0, bytePacket.length);
+ String str = auth.toString();
+
+ assertTrue(StringUtils.contains(str, "nextHeader=" + (byte) 0x11));
+ assertTrue(StringUtils.contains(str, "payloadLength=" + (byte) 0x02));
+ assertTrue(StringUtils.contains(str, "securityParamIndex=" + 0x13572468));
+ assertTrue(StringUtils.contains(str, "sequence=" + 0xffff00));
+ assertTrue(StringUtils.contains(str, "integrityCheck=" + Arrays.toString(icv)));
+ }
}
diff --git a/utils/misc/src/test/java/org/onlab/packet/ipv6/BaseOptionsTest.java b/utils/misc/src/test/java/org/onlab/packet/ipv6/BaseOptionsTest.java
index bb91e9e..17ada1e 100644
--- a/utils/misc/src/test/java/org/onlab/packet/ipv6/BaseOptionsTest.java
+++ b/utils/misc/src/test/java/org/onlab/packet/ipv6/BaseOptionsTest.java
@@ -16,6 +16,7 @@
package org.onlab.packet.ipv6;
+import org.apache.commons.lang3.StringUtils;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -24,11 +25,10 @@
import org.onlab.packet.IPv6;
import org.onlab.packet.UDP;
+import java.util.Arrays;
+
import static org.hamcrest.Matchers.is;
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertThat;
-import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.*;
/**
* Tests for class {@link BaseOptions}.
@@ -112,4 +112,17 @@
assertTrue(baseopt1.equals(baseopt1));
assertFalse(baseopt1.equals(baseopt2));
}
+
+ /**
+ * Tests toString.
+ */
+ @Test
+ public void testToStringBaseOptions() throws Exception {
+ BaseOptions baseopt = deserializer.deserialize(bytePacket, 0, bytePacket.length);
+ String str = baseopt.toString();
+
+ assertTrue(StringUtils.contains(str, "nextHeader=" + (byte) 0x11));
+ assertTrue(StringUtils.contains(str, "headerExtLength=" + (byte) 0x00));
+ assertTrue(StringUtils.contains(str, "options=" + Arrays.toString(options)));
+ }
}
diff --git a/utils/misc/src/test/java/org/onlab/packet/ipv6/EncapSecurityPayloadTest.java b/utils/misc/src/test/java/org/onlab/packet/ipv6/EncapSecurityPayloadTest.java
index e0e9919..d8e2f34 100644
--- a/utils/misc/src/test/java/org/onlab/packet/ipv6/EncapSecurityPayloadTest.java
+++ b/utils/misc/src/test/java/org/onlab/packet/ipv6/EncapSecurityPayloadTest.java
@@ -16,6 +16,7 @@
package org.onlab.packet.ipv6;
+import org.apache.commons.lang3.StringUtils;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -101,4 +102,16 @@
assertTrue(esp1.equals(esp1));
assertFalse(esp1.equals(esp2));
}
+
+ /**
+ * Tests toString.
+ */
+ @Test
+ public void testToStringESP() throws Exception {
+ EncapSecurityPayload esp = deserializer.deserialize(bytePacket, 0, bytePacket.length);
+ String str = esp.toString();
+
+ assertTrue(StringUtils.contains(str, "securityParamIndex=" + 0x13572468));
+ assertTrue(StringUtils.contains(str, "sequence=" + 0xffff00));
+ }
}
diff --git a/utils/misc/src/test/java/org/onlab/packet/ipv6/FragmentTest.java b/utils/misc/src/test/java/org/onlab/packet/ipv6/FragmentTest.java
index f2d5e48..7e5dc15 100644
--- a/utils/misc/src/test/java/org/onlab/packet/ipv6/FragmentTest.java
+++ b/utils/misc/src/test/java/org/onlab/packet/ipv6/FragmentTest.java
@@ -16,6 +16,7 @@
package org.onlab.packet.ipv6;
+import org.apache.commons.lang3.StringUtils;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -110,4 +111,18 @@
assertTrue(frag1.equals(frag1));
assertFalse(frag1.equals(frag2));
}
+
+ /**
+ * Tests toString.
+ */
+ @Test
+ public void testToStringFragment() throws Exception {
+ Fragment frag = deserializer.deserialize(bytePacket, 0, bytePacket.length);
+ String str = frag.toString();
+
+ assertTrue(StringUtils.contains(str, "nextHeader=" + (byte) 0x11));
+ assertTrue(StringUtils.contains(str, "fragmentOffset=" + (short) 0x1f));
+ assertTrue(StringUtils.contains(str, "moreFragment=" + (byte) 1));
+ assertTrue(StringUtils.contains(str, "identification=" + 0x1357));
+ }
}
diff --git a/utils/misc/src/test/java/org/onlab/packet/ipv6/RoutingTest.java b/utils/misc/src/test/java/org/onlab/packet/ipv6/RoutingTest.java
index a03bacc..293c9d7 100644
--- a/utils/misc/src/test/java/org/onlab/packet/ipv6/RoutingTest.java
+++ b/utils/misc/src/test/java/org/onlab/packet/ipv6/RoutingTest.java
@@ -16,6 +16,7 @@
package org.onlab.packet.ipv6;
+import org.apache.commons.lang3.StringUtils;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -24,11 +25,10 @@
import org.onlab.packet.Deserializer;
import org.onlab.packet.UDP;
+import java.util.Arrays;
+
import static org.hamcrest.Matchers.is;
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertThat;
-import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.*;
/**
* Tests for class {@link Routing}.
@@ -125,4 +125,19 @@
assertTrue(routing1.equals(routing1));
assertFalse(routing1.equals(routing2));
}
+
+ /**
+ * Tests toString.
+ */
+ @Test
+ public void testToStringRouting() throws Exception {
+ Routing routing = deserializer.deserialize(bytePacket, 0, bytePacket.length);
+ String str = routing.toString();
+
+ assertTrue(StringUtils.contains(str, "nextHeader=" + (byte) 0x11));
+ assertTrue(StringUtils.contains(str, "headerExtLength=" + (byte) 0x02));
+ assertTrue(StringUtils.contains(str, "routingType=" + (byte) 0x00));
+ assertTrue(StringUtils.contains(str, "segmentsLeft=" + (byte) 0x03));
+ assertTrue(StringUtils.contains(str, "routingData=" + Arrays.toString(routingData)));
+ }
}
diff --git a/utils/misc/src/test/java/org/onlab/packet/ndp/NeighborAdvertisementTest.java b/utils/misc/src/test/java/org/onlab/packet/ndp/NeighborAdvertisementTest.java
index d537251..6b03ca9 100644
--- a/utils/misc/src/test/java/org/onlab/packet/ndp/NeighborAdvertisementTest.java
+++ b/utils/misc/src/test/java/org/onlab/packet/ndp/NeighborAdvertisementTest.java
@@ -15,6 +15,7 @@
*/
package org.onlab.packet.ndp;
+import org.apache.commons.lang3.StringUtils;
import org.junit.BeforeClass;
import org.junit.Test;
import org.onlab.packet.DeserializationException;
@@ -25,10 +26,7 @@
import java.nio.ByteBuffer;
import static org.hamcrest.Matchers.is;
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertThat;
-import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.*;
/**
* Tests for class {@link NeighborAdvertisement}.
@@ -137,4 +135,18 @@
assertTrue(na1.equals(na1));
assertFalse(na1.equals(na2));
}
+
+ /**
+ * Tests toString.
+ */
+ @Test
+ public void testToStringNA() throws Exception {
+ NeighborAdvertisement na = deserializer.deserialize(bytePacket, 0, bytePacket.length);
+ String str = na.toString();
+
+ assertTrue(StringUtils.contains(str, "routerFlag=" + (byte) 1));
+ assertTrue(StringUtils.contains(str, "solicitedFlag=" + (byte) 1));
+ assertTrue(StringUtils.contains(str, "overrideFlag=" + (byte) 1));
+ // TODO: need to handle TARGET_ADDRESS
+ }
}
diff --git a/utils/misc/src/test/java/org/onlab/packet/ndp/NeighborSolicitationTest.java b/utils/misc/src/test/java/org/onlab/packet/ndp/NeighborSolicitationTest.java
index 03e57f5e..6f8c9da 100644
--- a/utils/misc/src/test/java/org/onlab/packet/ndp/NeighborSolicitationTest.java
+++ b/utils/misc/src/test/java/org/onlab/packet/ndp/NeighborSolicitationTest.java
@@ -25,10 +25,7 @@
import java.nio.ByteBuffer;
import static org.hamcrest.Matchers.is;
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertThat;
-import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.*;
/**
* Tests for class {@link NeighborSolicitation}.
@@ -131,4 +128,15 @@
assertTrue(ns1.equals(ns1));
assertFalse(ns1.equals(ns2));
}
+
+ /**
+ * Tests toString.
+ */
+ @Test
+ public void testToStringNS() throws Exception {
+ NeighborSolicitation ns = deserializer.deserialize(bytePacket, 0, bytePacket.length);
+ String str = ns.toString();
+
+ // TODO: need to handle TARGET_ADDRESS and Options
+ }
}
diff --git a/utils/misc/src/test/java/org/onlab/packet/ndp/RedirectTest.java b/utils/misc/src/test/java/org/onlab/packet/ndp/RedirectTest.java
index 3115714..e70da7c 100644
--- a/utils/misc/src/test/java/org/onlab/packet/ndp/RedirectTest.java
+++ b/utils/misc/src/test/java/org/onlab/packet/ndp/RedirectTest.java
@@ -144,4 +144,15 @@
assertTrue(rd1.equals(rd1));
assertFalse(rd1.equals(rd2));
}
+
+ /**
+ * Tests toString.
+ */
+ @Test
+ public void testToStringRedirect() throws Exception {
+ Redirect rd = deserializer.deserialize(bytePacket, 0, bytePacket.length);
+ String str = rd.toString();
+
+ // TODO: need to handle TARGET_ADDRESS and DESTINATION_ADDRESS
+ }
}
diff --git a/utils/misc/src/test/java/org/onlab/packet/ndp/RouterAdvertisementTest.java b/utils/misc/src/test/java/org/onlab/packet/ndp/RouterAdvertisementTest.java
index ede1574..014f36e 100644
--- a/utils/misc/src/test/java/org/onlab/packet/ndp/RouterAdvertisementTest.java
+++ b/utils/misc/src/test/java/org/onlab/packet/ndp/RouterAdvertisementTest.java
@@ -15,6 +15,7 @@
*/
package org.onlab.packet.ndp;
+import org.apache.commons.lang3.StringUtils;
import org.junit.BeforeClass;
import org.junit.Test;
import org.onlab.packet.DeserializationException;
@@ -137,4 +138,22 @@
assertTrue(ra1.equals(ra1));
assertFalse(ra1.equals(ra2));
}
+
+ /**
+ * Tests toString.
+ */
+ @Test
+ public void testToStringRA() throws Exception {
+ RouterAdvertisement ra = deserializer.deserialize(bytePacket, 0, bytePacket.length);
+ String str = ra.toString();
+
+ assertTrue(StringUtils.contains(str, "currentHopLimit=" + (byte) 3));
+ assertTrue(StringUtils.contains(str, "mFlag=" + (byte) 1));
+ assertTrue(StringUtils.contains(str, "oFlag=" + (byte) 1));
+ assertTrue(StringUtils.contains(str, "routerLifetime=" + (short) 0x258));
+ assertTrue(StringUtils.contains(str, "reachableTime=" + 0x3e8));
+ assertTrue(StringUtils.contains(str, "retransmitTimer=" + 0x1f4));
+
+ // TODO: need to handle options
+ }
}
diff --git a/utils/misc/src/test/java/org/onlab/packet/ndp/RouterSolicitationTest.java b/utils/misc/src/test/java/org/onlab/packet/ndp/RouterSolicitationTest.java
index e3b5686..b562f38 100644
--- a/utils/misc/src/test/java/org/onlab/packet/ndp/RouterSolicitationTest.java
+++ b/utils/misc/src/test/java/org/onlab/packet/ndp/RouterSolicitationTest.java
@@ -24,10 +24,7 @@
import java.nio.ByteBuffer;
import static org.hamcrest.Matchers.is;
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertThat;
-import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.*;
/**
* Tests for class {@link RouterSolicitation}.
@@ -111,4 +108,15 @@
assertTrue(rs1.equals(rs1));
assertFalse(rs1.equals(rs2));
}
+
+ /**
+ * Tests toString.
+ */
+ @Test
+ public void testToStringRS() throws Exception {
+ RouterSolicitation rs = deserializer.deserialize(bytePacket, 0, bytePacket.length);
+ String str = rs.toString();
+
+ // TODO: need to handle Options
+ }
}