Index: uspace/srv/net/ethip/ethip_nic.c
===================================================================
--- uspace/srv/net/ethip/ethip_nic.c	(revision 257feec9d30b7aa8ced34c0ef045309a9cc98d3c)
+++ uspace/srv/net/ethip/ethip_nic.c	(revision 69b264a9735df226a05998fb3c1faab281862562)
@@ -121,5 +121,5 @@
 }
 
-static ethip_link_addr_t *ethip_nic_addr_new(uint32_t addr)
+static ethip_link_addr_t *ethip_nic_addr_new(inet_addr_t *addr)
 {
 	ethip_link_addr_t *laddr = calloc(1, sizeof(ethip_link_addr_t));
@@ -131,5 +131,5 @@
 	
 	link_initialize(&laddr->addr_list);
-	laddr->addr = addr;
+	laddr->addr = *addr;
 	
 	return laddr;
@@ -193,6 +193,6 @@
 		goto error;
 	}
-
-	mac48_decode(nic_address.address, &nic->mac_addr);
+	
+	addr48(nic_address.address, nic->mac_addr);
 
 	rc = nic_set_state(nic->sess, NIC_STATE_ACTIVE);
@@ -203,6 +203,5 @@
 	}
 
-	log_msg(LOG_DEFAULT, LVL_DEBUG, "Initialized IP link service, MAC = 0x%" PRIx64,
-	    nic->mac_addr.addr);
+	log_msg(LOG_DEFAULT, LVL_DEBUG, "Initialized IP link service,");
 
 	return EOK;
@@ -335,5 +334,5 @@
 }
 
-int ethip_nic_addr_add(ethip_nic_t *nic, uint32_t addr)
+int ethip_nic_addr_add(ethip_nic_t *nic, inet_addr_t *addr)
 {
 	log_msg(LOG_DEFAULT, LVL_DEBUG, "ethip_nic_addr_add()");
@@ -347,5 +346,5 @@
 }
 
-int ethip_nic_addr_remove(ethip_nic_t *nic, uint32_t addr)
+int ethip_nic_addr_remove(ethip_nic_t *nic, inet_addr_t *addr)
 {
 	log_msg(LOG_DEFAULT, LVL_DEBUG, "ethip_nic_addr_remove()");
@@ -361,5 +360,5 @@
 
 ethip_link_addr_t *ethip_nic_addr_find(ethip_nic_t *nic,
-    uint32_t addr)
+    inet_addr_t *addr)
 {
 	log_msg(LOG_DEFAULT, LVL_DEBUG, "ethip_nic_addr_find()");
@@ -369,5 +368,5 @@
 		    ethip_link_addr_t, addr_list);
 		
-		if (addr == laddr->addr)
+		if (inet_addr_compare(addr, &laddr->addr))
 			return laddr;
 	}
