Index: uspace/srv/net/il/arp/arp.c
===================================================================
--- uspace/srv/net/il/arp/arp.c	(revision 854151c609055c16544a89e14572ba81716e8683)
+++ uspace/srv/net/il/arp/arp.c	(revision e08a73395d806318f3ac81da5e42459be2c60d2c)
@@ -215,5 +215,5 @@
 	(*proto)->service = service;
 	(*proto)->addr = address;
-	(*proto)->addr_data = (uint8_t *) address->value;
+	(*proto)->addr_data = address->value;
 	
 	rc = arp_addr_initialize(&(*proto)->addresses);
@@ -267,5 +267,5 @@
 			free(proto->addr_data);
 			proto->addr = address;
-			proto->addr_data = (uint8_t *) address->value;
+			proto->addr_data = address->value;
 		} else {
 			rc = arp_proto_create(&proto, protocol, address);
@@ -482,5 +482,5 @@
 	des_hw = src_proto + header->protocol_length;
 	des_proto = des_hw + header->hardware_length;
-	trans = arp_addr_find(&proto->addresses, (char *) src_proto,
+	trans = arp_addr_find(&proto->addresses, src_proto,
 	    header->protocol_length);
 	/* Exists? */
@@ -493,6 +493,6 @@
 	if (proto->addr->length != header->protocol_length)
 		return EINVAL;
-	if (!str_lcmp(proto->addr->value, (char *) des_proto,
-	    proto->addr->length)) {
+	
+	if (!bcmp(proto->addr->value, des_proto, proto->addr->length)) {
 		/* Not already updated? */
 		if (!trans) {
@@ -502,5 +502,5 @@
 			trans->hw_addr = NULL;
 			fibril_condvar_initialize(&trans->cv);
-			rc = arp_addr_add(&proto->addresses, (char *) src_proto,
+			rc = arp_addr_add(&proto->addresses, src_proto,
 			    header->protocol_length, trans);
 			if (rc != EOK) {
@@ -510,9 +510,9 @@
 		}
 		if (!trans->hw_addr) {
-			trans->hw_addr = measured_string_create_bulk(
-			    (char *) src_hw, header->hardware_length);
+			trans->hw_addr = measured_string_create_bulk(src_hw,
+			    header->hardware_length);
 			if (!trans->hw_addr)
 				return ENOMEM;
-
+			
 			/* Notify the fibrils that wait for the translation. */
 			fibril_condvar_broadcast(&trans->cv);
@@ -681,5 +681,5 @@
 	measured_string_t *address;
 	measured_string_t *translation;
-	char *data;
+	uint8_t *data;
 	packet_t *packet;
 	packet_t *next;
@@ -748,4 +748,5 @@
 	
 	case NET_IL_RECEIVED:
+		
 		rc = packet_translate_remote(arp_globals.net_phone, &packet,
 		    IPC_GET_PACKET(call));
Index: uspace/srv/net/il/ip/ip.c
===================================================================
--- uspace/srv/net/il/ip/ip.c	(revision 854151c609055c16544a89e14572ba81716e8683)
+++ uspace/srv/net/il/ip/ip.c	(revision e08a73395d806318f3ac81da5e42459be2c60d2c)
@@ -275,6 +275,6 @@
 	if (rc != EOK)
 		goto out;
-	rc = add_module(NULL, &ip_globals.modules, ARP_NAME, ARP_FILENAME,
-	    SERVICE_ARP, 0, arp_connect_module);
+	rc = add_module(NULL, &ip_globals.modules, (uint8_t *) ARP_NAME,
+	    (uint8_t *) ARP_FILENAME, SERVICE_ARP, 0, arp_connect_module);
 
 out:
@@ -312,33 +312,33 @@
 	measured_string_t names[] = {
 		{
-			(char *) "IPV",
+			(uint8_t *) "IPV",
 			3
 		},
 		{
-			(char *) "IP_CONFIG",
+			(uint8_t *) "IP_CONFIG",
 			9
 		},
 		{
-			(char *) "IP_ADDR",
+			(uint8_t *) "IP_ADDR",
 			7
 		},
 		{
-			(char *) "IP_NETMASK",
+			(uint8_t *) "IP_NETMASK",
 			10
 		},
 		{
-			(char *) "IP_GATEWAY",
+			(uint8_t *) "IP_GATEWAY",
 			10
 		},
 		{
-			(char *) "IP_BROADCAST",
+			(uint8_t *) "IP_BROADCAST",
 			12
 		},
 		{
-			(char *) "ARP",
+			(uint8_t *) "ARP",
 			3
 		},
 		{
-			(char *) "IP_ROUTING",
+			(uint8_t *) "IP_ROUTING",
 			10
 		}
@@ -346,5 +346,5 @@
 	measured_string_t *configuration;
 	size_t count = sizeof(names) / sizeof(measured_string_t);
-	char *data;
+	uint8_t *data;
 	measured_string_t address;
 	ip_route_t *route;
@@ -368,7 +368,7 @@
 	if (configuration) {
 		if (configuration[0].value)
-			ip_netif->ipv = strtol(configuration[0].value, NULL, 0);
-
-		ip_netif->dhcp = !str_lcmp(configuration[1].value, "dhcp",
+			ip_netif->ipv = strtol((char *) configuration[0].value, NULL, 0);
+		
+		ip_netif->dhcp = !str_lcmp((char *) configuration[1].value, "dhcp",
 		    configuration[1].length);
 		
@@ -394,11 +394,11 @@
 			}
 			
-			if ((inet_pton(AF_INET, configuration[2].value,
+			if ((inet_pton(AF_INET, (char *) configuration[2].value,
 			    (uint8_t *) &route->address.s_addr) != EOK) ||
-			    (inet_pton(AF_INET, configuration[3].value,
+			    (inet_pton(AF_INET, (char *) configuration[3].value,
 			    (uint8_t *) &route->netmask.s_addr) != EOK) ||
-			    (inet_pton(AF_INET, configuration[4].value,
+			    (inet_pton(AF_INET, (char *) configuration[4].value,
 			    (uint8_t *) &gateway.s_addr) == EINVAL) ||
-			    (inet_pton(AF_INET, configuration[5].value,
+			    (inet_pton(AF_INET, (char *) configuration[5].value,
 			    (uint8_t *) &ip_netif->broadcast.s_addr) == EINVAL))
 			    {
@@ -441,5 +441,5 @@
 	if (ip_netif->arp) {
 		if (route) {
-			address.value = (char *) &route->address.s_addr;
+			address.value = (uint8_t *) &route->address.s_addr;
 			address.length = sizeof(in_addr_t);
 			
@@ -997,5 +997,5 @@
 	measured_string_t destination;
 	measured_string_t *translation;
-	char *data;
+	uint8_t *data;
 	int phone;
 	int rc;
@@ -1004,5 +1004,5 @@
 	if (netif->arp && (route->address.s_addr != dest.s_addr)) {
 		destination.value = route->gateway.s_addr ?
-		    (char *) &route->gateway.s_addr : (char *) &dest.s_addr;
+		    (uint8_t *) &route->gateway.s_addr : (uint8_t *) &dest.s_addr;
 		destination.length = sizeof(dest.s_addr);
 
@@ -1756,5 +1756,5 @@
 		    (header->destination_address & route->netmask.s_addr))) {
 			// clear the ARP mapping if any
-			address.value = (char *) &header->destination_address;
+			address.value = (uint8_t *) &header->destination_address;
 			address.length = sizeof(header->destination_address);
 			arp_clear_address_req(netif->arp->phone,
