Uses ICMPEcho class in OpenstackRoutingIcmpHandler and test class.
Change-Id: I2a51b27b1475175c125b87b0d4f6573675846d93
diff --git a/apps/openstacknetworking/app/src/test/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingIcmpHandlerTest.java b/apps/openstacknetworking/app/src/test/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingIcmpHandlerTest.java
index ece96ee..d5227c3 100644
--- a/apps/openstacknetworking/app/src/test/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingIcmpHandlerTest.java
+++ b/apps/openstacknetworking/app/src/test/java/org/onosproject/openstacknetworking/impl/OpenstackRoutingIcmpHandlerTest.java
@@ -25,6 +25,7 @@
import org.onlab.packet.DeserializationException;
import org.onlab.packet.Ethernet;
import org.onlab.packet.ICMP;
+import org.onlab.packet.ICMPEcho;
import org.onlab.packet.IPv4;
import org.onlab.packet.IpAddress;
import org.onlab.packet.MacAddress;
@@ -197,8 +198,9 @@
private void validateIcmpRespFromExternal(IPv4 ipPacket) {
ICMP icmpResp = (ICMP) ipPacket.getPayload();
- short icmpId = ByteBuffer.wrap(icmpResp.serialize(), 4, 2).getShort();
- short seqNum = ByteBuffer.wrap(icmpResp.serialize(), 6, 2).getShort();
+ ICMPEcho icmpEchoResp = (ICMPEcho) icmpResp.getPayload();
+ short icmpId = icmpEchoResp.getIdentifier();
+ short seqNum = icmpEchoResp.getSequenceNum();
assertEquals(icmpResp.getIcmpType(), TYPE_ECHO_REPLY);
assertEquals(icmpResp.getIcmpCode(), CODE_ECHO_REPLY);
@@ -210,9 +212,9 @@
private void validateIcmpReqToExternal(IPv4 ipPacket) {
ICMP icmpReq = (ICMP) ipPacket.getPayload();
- short icmpId = ByteBuffer.wrap(icmpReq.serialize(), 4, 2).getShort();
- short seqNum = ByteBuffer.wrap(icmpReq.serialize(), 6, 2).getShort();
-
+ ICMPEcho icmpEchoReq = (ICMPEcho) icmpReq.getPayload();
+ short icmpId = icmpEchoReq.getIdentifier();
+ short seqNum = icmpEchoReq.getSequenceNum();
assertEquals(icmpReq.getIcmpType(), TYPE_ECHO_REQUEST);
assertEquals(icmpReq.getIcmpCode(), CODE_ECHO_REQUEST);
@@ -224,8 +226,9 @@
}
private void validateIcmpReqToGw(IPv4 ipPacket) {
ICMP icmpReq = (ICMP) ipPacket.getPayload();
- short icmpId = ByteBuffer.wrap(icmpReq.serialize(), 4, 2).getShort();
- short seqNum = ByteBuffer.wrap(icmpReq.serialize(), 6, 2).getShort();
+ ICMPEcho icmpEchoReq = (ICMPEcho) icmpReq.getPayload();
+ short icmpId = icmpEchoReq.getIdentifier();
+ short seqNum = icmpEchoReq.getSequenceNum();
assertEquals(icmpReq.getIcmpType(), TYPE_ECHO_REPLY);
assertEquals(icmpReq.getIcmpCode(), CODE_ECHO_REPLY);
@@ -240,20 +243,20 @@
IpAddress dstIp,
MacAddress dstMac, byte icmpType) {
try {
- IcmpEcho icmp = new IcmpEcho();
- if (icmpType == TYPE_ECHO_REQUEST) {
- icmp.setIcmpType(TYPE_ECHO_REQUEST)
- .setIcmpCode(CODE_ECHO_REQUEST);
- } else {
- icmp.setIcmpType(TYPE_ECHO_REPLY)
- .setIcmpCode(CODE_ECHO_REPLY);
- }
-
- icmp.setChecksum((short) 0)
- .setIdentifier((short) 0)
+ ICMPEcho icmpEcho = new ICMPEcho();
+ icmpEcho.setIdentifier((short) 0)
.setSequenceNum((short) 0);
+ ByteBuffer byteBufferIcmpEcho = ByteBuffer.wrap(icmpEcho.serialize());
- ByteBuffer bb = ByteBuffer.wrap(icmp.serialize());
+ ICMP icmp = new ICMP();
+ icmp.setIcmpType(icmpType)
+ .setIcmpCode(icmpType == TYPE_ECHO_REQUEST ? CODE_ECHO_REQUEST : CODE_ECHO_REPLY)
+ .setChecksum((short) 0);
+
+ icmp.setPayload(ICMPEcho.deserializer().deserialize(byteBufferIcmpEcho.array(),
+ 0, ICMPEcho.ICMP_ECHO_HEADER_LENGTH));
+
+ ByteBuffer byteBufferIcmp = ByteBuffer.wrap(icmp.serialize());
IPv4 iPacket = new IPv4();
iPacket.setDestinationAddress(dstIp.toString());
@@ -263,7 +266,7 @@
iPacket.setDiffServ((byte) 0);
iPacket.setProtocol(IPv4.PROTOCOL_ICMP);
- iPacket.setPayload(ICMP.deserializer().deserialize(bb.array(), 0, 8));
+ iPacket.setPayload(ICMP.deserializer().deserialize(byteBufferIcmp.array(), 0, 8));
Ethernet ethPacket = new Ethernet();