IGMP Deserialize now properly uses the offset and
length parameters to deserialize the correct area
of data buffer.

Change-Id: I5d8869c25d397d5d07aad014ef00d0decef22d4f
diff --git a/apps/igmp/src/main/java/org/onosproject/igmp/impl/IGMPComponent.java b/apps/igmp/src/main/java/org/onosproject/igmp/impl/IGMPComponent.java
index ae539c6..b782740 100644
--- a/apps/igmp/src/main/java/org/onosproject/igmp/impl/IGMPComponent.java
+++ b/apps/igmp/src/main/java/org/onosproject/igmp/impl/IGMPComponent.java
@@ -111,18 +111,18 @@
                     "\tingress port: " + context.inPacket().receivedFrom().toString());
 
             if (ip.getProtocol() != IPv4.PROTOCOL_IGMP) {
-                log.error("IGMP Picked up a non IGMP packet.");
+                log.debug("IGMP Picked up a non IGMP packet.");
                 return;
             }
 
             IpPrefix mcast = IpPrefix.valueOf("224.0.0.0/4");
             if (!mcast.contains(gaddr)) {
-                log.error("IGMP Picked up a non multicast packet.");
+                log.debug("IGMP Picked up a non multicast packet.");
                 return;
             }
 
             if (mcast.contains(saddr)) {
-                log.error("IGMP Picked up a packet with a multicast source address.");
+                log.debug("IGMP Picked up a packet with a multicast source address.");
                 return;
             }
             IpPrefix spfx = IpPrefix.valueOf(saddr, 32);
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 e7abbd6..254f132 100644
--- a/utils/misc/src/main/java/org/onlab/packet/IGMP.java
+++ b/utils/misc/src/main/java/org/onlab/packet/IGMP.java
@@ -231,7 +231,7 @@
 
             IGMP igmp = new IGMP();
 
-            ByteBuffer bb = ByteBuffer.wrap(data);
+            final ByteBuffer bb = ByteBuffer.wrap(data, offset, length);
             igmp.igmpType = bb.get();
             igmp.resField = bb.get();
             igmp.checksum = bb.getShort();