Index: uspace/srv/ethip/ethip_nic.c
===================================================================
--- uspace/srv/ethip/ethip_nic.c	(revision 4f64a523695d07f25f0d3382ba626f4d1ec45c79)
+++ uspace/srv/ethip/ethip_nic.c	(revision df15e5f181264043903da170259c6dba1dd99a30)
@@ -198,4 +198,5 @@
 }
 
+#include <stdio.h>
 static void ethip_nic_received(ethip_nic_t *nic, ipc_callid_t callid,
     ipc_call_t *call)
@@ -212,4 +213,11 @@
 		return;
 	}
+
+	log_msg(LVL_DEBUG, "Ethernet PDU contents (%zu bytes)",
+	    size);
+	size_t i;
+	for (i = 0; i < size; i++)
+		printf("%02x ", ((uint8_t *)data)[i]);
+	printf("\n");
 
 	log_msg(LVL_DEBUG, "call ethip_received");
Index: uspace/srv/ethip/pdu.c
===================================================================
--- uspace/srv/ethip/pdu.c	(revision 4f64a523695d07f25f0d3382ba626f4d1ec45c79)
+++ uspace/srv/ethip/pdu.c	(revision df15e5f181264043903da170259c6dba1dd99a30)
@@ -76,4 +76,5 @@
 }
 
+#include <stdio.h>
 /** Decode Ethernet PDU. */
 int eth_pdu_decode(void *data, size_t size, eth_frame_t *frame)
@@ -102,4 +103,13 @@
 	    frame->size);
 
+	log_msg(LVL_DEBUG, "Ethernet frame src=%llx dest=%llx etype=%x",
+	    frame->src, frame->dest, frame->etype_len);
+	log_msg(LVL_DEBUG, "Ethernet frame payload (%zu bytes)", frame->size);
+	size_t i;
+	for (i = 0; i < frame->size; i++) {
+		printf("%02x ", ((uint8_t *)(frame->data))[i]);
+	}
+	printf("\n");
+
 	return EOK;
 }
@@ -113,5 +123,5 @@
 	val = addr->addr;
 	for (i = 0; i < MAC48_BYTES; i++) {
-		bbuf[i] = (val >> 8*(MAC48_BYTES - i - 1)) & 0xff;
+		bbuf[i] = (val >> (8 * (MAC48_BYTES - i - 1))) & 0xff;
 		val = val >> 8;
 	}
@@ -126,5 +136,5 @@
 	val = 0;
 	for (i = 0; i < MAC48_BYTES; i++)
-		val |= ((uint64_t)bdata[i]) << (MAC48_BYTES - i - 1);
+		val |= (uint64_t)bdata[i] << (8 * (MAC48_BYTES - i - 1));
 
 	addr->addr = val;
