Index: uspace/lib/nic/src/nic_driver.c
===================================================================
--- uspace/lib/nic/src/nic_driver.c	(revision fc2d593b1195aadb5f9a5965a1bb2d0e8b682056)
+++ uspace/lib/nic/src/nic_driver.c	(revision 1333dfce89a42845e0aeeb66e3ee05c877f73f92)
@@ -523,5 +523,5 @@
 	 * 		 calls it inside send_frame handler (with locked main lock)
 	 */
-	pcapdump_packet(nic_get_pcap_iface(nic_data), frame->data, frame->size);
+	//pcapdump_packet(nic_get_pcap_iface(nic_data), frame->data, frame->size);
 	fibril_rwlock_read_lock(&nic_data->rxc_lock);
 	nic_frame_type_t frame_type;
@@ -651,8 +651,8 @@
 	nic_data->dev = device;
 
-	errno_t pcap_rc  = pcapdump_init(nic_get_pcap_iface(nic_data));
-	if (pcap_rc != EOK) {
-		printf("Failed creating pcapdump port\n");
-	}
+	// errno_t pcap_rc  = pcapdump_init(nic_get_pcap_iface(nic_data));
+	// if (pcap_rc != EOK) {
+	// 	printf("Failed creating pcapdump port\n");
+	// }
 
 	return nic_data;
Index: uspace/lib/nic/src/nic_impl.c
===================================================================
--- uspace/lib/nic/src/nic_impl.c	(revision fc2d593b1195aadb5f9a5965a1bb2d0e8b682056)
+++ uspace/lib/nic/src/nic_impl.c	(revision 1333dfce89a42845e0aeeb66e3ee05c877f73f92)
@@ -850,9 +850,10 @@
 	if (rc != EOK)
 		return rc;
-
-	rc = ddf_fun_add_to_category(fun, "pcap");
-	if (rc != EOK) {
 		return rc;
-	}
+
+	// rc = ddf_fun_add_to_category(fun, "pcap");
+	// if (rc != EOK) {
+	// 	return rc;
+	// }
 	return EOK;
 }
Index: uspace/lib/pcap/src/pcapctl_dump.c
===================================================================
--- uspace/lib/pcap/src/pcapctl_dump.c	(revision fc2d593b1195aadb5f9a5965a1bb2d0e8b682056)
+++ uspace/lib/pcap/src/pcapctl_dump.c	(revision 1333dfce89a42845e0aeeb66e3ee05c877f73f92)
@@ -52,31 +52,31 @@
 }
 
-static errno_t pcapctl_cat_get_svc(int *index, service_id_t *svc)
-{
-	errno_t rc;
-	category_id_t pcap_cat;
-	size_t count;
-	service_id_t *pcap_svcs = NULL;
-
-	rc = loc_category_get_id("pcap", &pcap_cat, 0);
-	if (rc != EOK) {
-		printf("Error resolving category 'pcap'.\n");
-		return rc;
-	}
-
-	rc = loc_category_get_svcs(pcap_cat, &pcap_svcs, &count);
-	if (rc != EOK) {
-		printf("Error resolving list of pcap services.\n");
-		free(pcap_svcs);
-		return rc;
-	}
-	if (*index < (int)count) {
-		*svc =  pcap_svcs[*index];
-		free(pcap_svcs);
-		return EOK;
-	}
-
-	return ENOENT;
-}
+// static errno_t pcapctl_cat_get_svc(int *index, service_id_t *svc)
+// {
+// 	errno_t rc;
+// 	category_id_t pcap_cat;
+// 	size_t count;
+// 	service_id_t *pcap_svcs = NULL;
+
+// 	rc = loc_category_get_id("pcap", &pcap_cat, 0);
+// 	if (rc != EOK) {
+// 		printf("Error resolving category 'pcap'.\n");
+// 		return rc;
+// 	}
+
+// 	rc = loc_category_get_svcs(pcap_cat, &pcap_svcs, &count);
+// 	if (rc != EOK) {
+// 		printf("Error resolving list of pcap services.\n");
+// 		free(pcap_svcs);
+// 		return rc;
+// 	}
+// 	if (*index < (int)count) {
+// 		*svc =  pcap_svcs[*index];
+// 		free(pcap_svcs);
+// 		return EOK;
+// 	}
+
+// 	return ENOENT;
+// }
 
 errno_t pcapctl_is_valid_device(int *index)
@@ -149,22 +149,13 @@
 		return ENOMEM;
 
-	printf("number: %d\n", *index);
-	if (*index == -1) {
-
-		rc = loc_service_get_id("net/eth1", &svc, 0);
-		if (rc != EOK)
-		{
-			fprintf(stderr, "Error getting service id.\n");
-			return ENOENT;
-		}
-	}
-	else {
-		rc  = pcapctl_cat_get_svc(index, &svc);
-		if (rc != EOK) {
-			printf("Error finding the device with index: %d\n", *index);
-			goto error;
-		}
-	}
-
+	// rc  = pcapctl_cat_get_svc(index, &svc);
+	// if (rc != EOK) {
+	// 	printf("Error finding the device with index: %d\n", *index);
+	// 	goto error;
+	// }
+
+	rc = loc_service_get_id("net/inet", &svc, 0);
+	if (rc != EOK)
+		return ENOENT;
 
 	async_sess_t *new_session = loc_service_connect(svc, INTERFACE_PCAP_CONTROL, 0);
@@ -174,5 +165,5 @@
 		goto error;
 	}
-
+	printf("got new session\n");
 	sess->sess = new_session;
 	*rsess = sess;
@@ -200,4 +191,5 @@
 errno_t pcapctl_dump_start(const char *name, pcapctl_sess_t *sess)
 {
+	printf("pcapctl_dump_start\n");
 	errno_t rc;
 	async_exch_t *exch = async_exchange_begin(sess->sess);
Index: uspace/srv/net/inetsrv/inetsrv.c
===================================================================
--- uspace/srv/net/inetsrv/inetsrv.c	(revision fc2d593b1195aadb5f9a5965a1bb2d0e8b682056)
+++ uspace/srv/net/inetsrv/inetsrv.c	(revision 1333dfce89a42845e0aeeb66e3ee05c877f73f92)
@@ -49,4 +49,5 @@
 #include <stdint.h>
 #include <task.h>
+#include <pcapdump_iface.h>
 #include "addrobj.h"
 #include "icmp.h"
@@ -63,4 +64,6 @@
 #define NAME "inetsrv"
 
+/** Interface for dumping packets */
+pcap_iface_t pcapdump;
 
 static inet_naddr_t solicited_node_mask = {
@@ -118,5 +121,9 @@
 	if (rc != EOK)
 		return rc;
-
+	rc = async_create_port(INTERFACE_PCAP_CONTROL,
+	    pcapdump_conn, &pcapdump, &port);
+	if (rc != EOK) {
+		return rc;
+	}
 	rc = loc_server_register(NAME, &srv);
 	if (rc != EOK) {
@@ -203,5 +210,6 @@
 		    dgram->dest.addr, dgram, proto, ttl, df);
 	}
-
+	printf("SENDING: packet size is - %d\n", dgram->size);
+	pcapdump_packet(&pcapdump, dgram->data, dgram->size);
 	log_msg(LOG_DEFAULT, LVL_DEBUG, "dgram to be routed");
 
@@ -541,4 +549,6 @@
 			dgram.data = packet->data;
 			dgram.size = packet->size;
+			printf("RECEIVING: packet size is - %d\n", packet->size);
+			pcapdump_packet(&pcapdump, packet->data, packet->size);
 			return inet_recv_dgram_local(&dgram, packet->proto);
 		} else {
@@ -561,9 +571,15 @@
 		return 1;
 	}
-
+	rc = pcap_iface_init(&pcapdump);
+
+	if (rc != EOK) {
+		printf("Failed creating pcap interface: %s", str_error(rc));
+		return rc;
+	}
 	rc = inet_init();
 	if (rc != EOK)
 		return 1;
 
+	printf(NAME ": Initialized dump iface from inetsrv.\n");
 	printf(NAME ": Accepting connections.\n");
 
