Index: uspace/app/ping/ping.c
===================================================================
--- uspace/app/ping/ping.c	(revision 959d2ec948bfd4d5f4fe2c0764a29d8cd4f3e463)
+++ uspace/app/ping/ping.c	(revision 3e664287e034298711db95506e3d6e3f1a348b8a)
@@ -63,6 +63,6 @@
 };
 
-static inet_addr_t src_addr;
-static inet_addr_t dest_addr;
+static uint32_t src;
+static uint32_t dest;
 
 static bool ping_repeat = false;
@@ -83,23 +83,28 @@
 static int ping_ev_recv(inetping_sdu_t *sdu)
 {
-	char *asrc, *adest;
-	int rc;
-
-	rc = inet_addr_format(&sdu->src, &asrc);
+	inet2_addr_t src_addr;
+	inet2_addr_unpack(sdu->src, &src_addr);
+	
+	inet2_addr_t dest_addr;
+	inet2_addr_unpack(sdu->dest, &dest_addr);
+	
+	char *asrc;
+	int rc = inet2_addr_format(&src_addr, &asrc);
 	if (rc != EOK)
 		return ENOMEM;
-
-	rc = inet_addr_format(&sdu->dest, &adest);
+	
+	char *adest;
+	rc = inet2_addr_format(&dest_addr, &adest);
 	if (rc != EOK) {
 		free(asrc);
 		return ENOMEM;
 	}
+	
 	printf("Received ICMP echo reply: from %s to %s, seq. no %u, "
 	    "payload size %zu\n", asrc, adest, sdu->seq_no, sdu->size);
-
-	if (!ping_repeat) {
+	
+	if (!ping_repeat)
 		ping_signal_done();
-	}
-
+	
 	free(asrc);
 	free(adest);
@@ -112,6 +117,6 @@
 	int rc;
 
-	sdu.src = src_addr;
-	sdu.dest = dest_addr;
+	sdu.src = src;
+	sdu.dest = dest;
 	sdu.seq_no = seq_no;
 	sdu.data = (void *) "foo";
@@ -202,5 +207,6 @@
 
 	/* Parse destination address */
-	rc = inet_addr_parse(argv[argi], &dest_addr);
+	inet2_addr_t dest_addr;
+	rc = inet2_addr_parse(argv[argi], &dest_addr);
 	if (rc != EOK) {
 		/* Try interpreting as a host name */
@@ -210,27 +216,37 @@
 			goto error;
 		}
-
+		
 		dest_addr = hinfo->addr;
 	}
-
+	
+	rc = inet2_addr_pack(&dest_addr, &dest);
+	if (rc != EOK) {
+		printf(NAME ": Destination '%s' is not an IPv4 address.\n",
+		    argv[argi]);
+		goto error;
+	}
+	
 	/* Determine source address */
-	rc = inetping_get_srcaddr(&dest_addr, &src_addr);
+	rc = inetping_get_srcaddr(dest, &src);
 	if (rc != EOK) {
 		printf(NAME ": Failed determining source address.\n");
 		goto error;
 	}
-
-	rc = inet_addr_format(&src_addr, &asrc);
+	
+	inet2_addr_t src_addr;
+	inet2_addr_unpack(src, &src_addr);
+	
+	rc = inet2_addr_format(&src_addr, &asrc);
 	if (rc != EOK) {
 		printf(NAME ": Out of memory.\n");
 		goto error;
 	}
-
-	rc = inet_addr_format(&dest_addr, &adest);
+	
+	rc = inet2_addr_format(&dest_addr, &adest);
 	if (rc != EOK) {
 		printf(NAME ": Out of memory.\n");
 		goto error;
 	}
-
+	
 	if (hinfo != NULL) {
 		rc = asprintf(&sdest, "%s (%s)", hinfo->cname, adest);
@@ -287,4 +303,5 @@
 	dnsr_hostinfo_destroy(hinfo);
 	return 0;
+	
 error:
 	free(asrc);
