diff --git a/iputils/ping.h b/iputils/ping.h
index 6715407e3ce79bb2e2f09f5552191534fcacc2d8..e2923cd4c041b567ddd9319dfa2efc619b69a3ed 100755
--- a/iputils/ping.h
+++ b/iputils/ping.h
@@ -8,7 +8,6 @@
 #include <sys/socket.h>
 #include <linux/types.h>
 #include <linux/sockios.h>
-#include <linux/ipv6.h>
 # define __USE_KERNEL_IPV6_DEFS
 #include <sys/file.h>
 #include <sys/time.h>
@@ -68,6 +67,7 @@
 
 #include <ifaddrs.h>
 #include <netinet/in.h>
+#include <linux/ipv6.h>
 #include <arpa/inet.h>
 #include <linux/types.h>
 #include <linux/errqueue.h>
diff --git a/iputils/ping6_common.c b/iputils/ping6_common.c
index 1cc0566c0c59e4f54755fac29fa109b6d11ec75a..0d17cb5ec1c1098a6e907d2b905c26c24e464fa2 100755
--- a/iputils/ping6_common.c
+++ b/iputils/ping6_common.c
@@ -60,6 +60,13 @@
 
 #include "ping.h"
 
+/* IPv6 packet information.  */
+struct in6_pktinfo
+  {
+    struct in6_addr ipi6_addr;	/* src/dst IPv6 address */
+    unsigned int ipi6_ifindex;	/* send/recv interface index */
+  };
+
 ping_func_set_st ping6_func_set = {
     .send_probe = ping6_send_probe,
     .receive_error_msg = ping6_receive_error_msg,