Index: uspace/srv/net/il/ip/ip.c
===================================================================
--- uspace/srv/net/il/ip/ip.c	(revision e417b961e64a18ae1b50d3898c8108c524af1400)
+++ uspace/srv/net/il/ip/ip.c	(revision 59ecd4a3b0bd29d1e4c177ddfdbd67f9774eb336)
@@ -41,39 +41,34 @@
 #include <stdio.h>
 #include <str.h>
-
 #include <ipc/ipc.h>
 #include <ipc/services.h>
-
 #include <sys/types.h>
 
-#include "../../err.h"
-#include "../../messages.h"
-#include "../../modules.h"
-
-#include "../../include/arp_interface.h"
-#include "../../include/byteorder.h"
-#include "../../include/checksum.h"
-#include "../../include/device.h"
-#include "../../include/icmp_client.h"
-#include "../../include/icmp_codes.h"
-#include "../../include/icmp_interface.h"
-#include "../../include/il_interface.h"
-#include "../../include/in.h"
-#include "../../include/in6.h"
-#include "../../include/inet.h"
-#include "../../include/ip_client.h"
-#include "../../include/ip_interface.h"
-#include "../../include/net_interface.h"
-#include "../../include/nil_interface.h"
-#include "../../include/tl_interface.h"
-#include "../../include/socket_codes.h"
-#include "../../include/socket_errno.h"
-#include "../../structures/measured_strings.h"
-#include "../../structures/module_map.h"
-#include "../../structures/packet/packet_client.h"
-
-#include "../../nil/nil_messages.h"
-
-#include "../il_messages.h"
+#include <net_err.h>
+#include <net_messages.h>
+#include <net_modules.h>
+#include <arp_interface.h>
+#include <net_byteorder.h>
+#include <net_checksum.h>
+#include <net_device.h>
+#include <icmp_client.h>
+#include <icmp_codes.h>
+#include <icmp_interface.h>
+#include <il_interface.h>
+#include <in.h>
+#include <in6.h>
+#include <inet.h>
+#include <ip_client.h>
+#include <ip_interface.h>
+#include <net_interface.h>
+#include <nil_interface.h>
+#include <tl_interface.h>
+#include <socket_codes.h>
+#include <socket_errno.h>
+#include <adt/measured_strings.h>
+#include <adt/module_map.h>
+#include <packet/packet_client.h>
+#include <nil_messages.h>
+#include <il_messages.h>
 
 #include "ip.h"
@@ -81,4 +76,8 @@
 #include "ip_messages.h"
 #include "ip_module.h"
+
+/** IP module name.
+ */
+#define NAME	"IP protocol"
 
 /** IP version 4.
@@ -1624,4 +1623,72 @@
 }
 
+#ifdef CONFIG_NETWORKING_modular
+
+#include <il_standalone.h>
+
+/** Default thread for new connections.
+ *
+ *  @param[in] iid The initial message identifier.
+ *  @param[in] icall The initial message call structure.
+ *
+ */
+static void il_client_connection(ipc_callid_t iid, ipc_call_t * icall)
+{
+	/*
+	 * Accept the connection
+	 *  - Answer the first IPC_M_CONNECT_ME_TO call.
+	 */
+	ipc_answer_0(iid, EOK);
+	
+	while(true) {
+		ipc_call_t answer;
+		int answer_count;
+		
+		/* Clear the answer structure */
+		refresh_answer(&answer, &answer_count);
+		
+		/* Fetch the next message */
+		ipc_call_t call;
+		ipc_callid_t callid = async_get_call(&call);
+		
+		/* Process the message */
+		int res = il_module_message(callid, &call, &answer, &answer_count);
+		
+		/* End if said to either by the message or the processing result */
+		if ((IPC_GET_METHOD(call) == IPC_M_PHONE_HUNGUP) || (res == EHANGUP))
+			return;
+		
+		/* Answer the message */
+		answer_call(callid, res, &answer, answer_count);
+	}
+}
+
+/** Starts the module.
+ *
+ *  @param argc The count of the command line arguments. Ignored parameter.
+ *  @param argv The command line parameters. Ignored parameter.
+ *
+ *  @returns EOK on success.
+ *  @returns Other error codes as defined for each specific module start function.
+ *
+ */
+int main(int argc, char *argv[])
+{
+	ERROR_DECLARE;
+	
+	/* Print the module label */
+	printf("Task %d - %s\n", task_get_id(), NAME);
+	
+	/* Start the module */
+	if (ERROR_OCCURRED(il_module_start(il_client_connection))) {
+		printf(" - ERROR %i\n", ERROR_CODE);
+		return ERROR_CODE;
+	}
+	
+	return EOK;
+}
+
+#endif /* CONFIG_NETWORKING_modular */
+
 /** @}
  */
