mirror of
https://github.com/thead-yocto-mirror/meta-openembedded
synced 2026-09-03 20:54:42 +02:00
* Rebase the patch fix-disable-ipv6.patch * Add PACKAGECONFIG for ipv6 and ping6 instead of using noipv6 in EXTRA_OECONF * Fix the do_install to avoid failure when ipv6 is disable Signed-off-by: Jackie Huang <jackie.huang@windriver.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
84 lines
2.2 KiB
Diff
84 lines
2.2 KiB
Diff
Upstream: http://www.mail-archive.com/bug-inetutils@gnu.org/msg02103.html
|
|
|
|
Upstream-Status: Pending
|
|
|
|
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
|
|
---
|
|
ping/ping_common.h | 20 ++++++++++++++++++++
|
|
1 file changed, 20 insertions(+)
|
|
|
|
diff --git a/ping/ping_common.h b/ping/ping_common.h
|
|
index 1dfd1b5..3bfbd12 100644
|
|
--- a/ping/ping_common.h
|
|
+++ b/ping/ping_common.h
|
|
@@ -17,10 +17,14 @@
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program. If not, see `http://www.gnu.org/licenses/'. */
|
|
|
|
+#include <config.h>
|
|
+
|
|
#include <netinet/in_systm.h>
|
|
#include <netinet/in.h>
|
|
#include <netinet/ip.h>
|
|
+#ifdef HAVE_IPV6
|
|
#include <netinet/icmp6.h>
|
|
+#endif
|
|
#include <icmp.h>
|
|
#include <error.h>
|
|
#include <progname.h>
|
|
@@ -62,7 +66,12 @@ struct ping_stat
|
|
want to follow the traditional behaviour of ping. */
|
|
#define DEFAULT_PING_COUNT 0
|
|
|
|
+#ifdef HAVE_IPV6
|
|
#define PING_HEADER_LEN (USE_IPV6 ? sizeof (struct icmp6_hdr) : ICMP_MINLEN)
|
|
+#else
|
|
+#define PING_HEADER_LEN (ICMP_MINLEN)
|
|
+#endif
|
|
+
|
|
#define PING_TIMING(s) ((s) >= sizeof (struct timeval))
|
|
#define PING_DATALEN (64 - PING_HEADER_LEN) /* default data length */
|
|
|
|
@@ -74,13 +83,20 @@ struct ping_stat
|
|
(t).tv_usec = ((i)%PING_PRECISION)*(1000000/PING_PRECISION) ;\
|
|
} while (0)
|
|
|
|
+#ifdef HAVE_IPV6
|
|
/* FIXME: Adjust IPv6 case for options and their consumption. */
|
|
#define _PING_BUFLEN(p, u) ((u)? ((p)->ping_datalen + sizeof (struct icmp6_hdr)) : \
|
|
(MAXIPLEN + (p)->ping_datalen + ICMP_TSLEN))
|
|
|
|
+#else
|
|
+#define _PING_BUFLEN(p, u) (MAXIPLEN + (p)->ping_datalen + ICMP_TSLEN)
|
|
+#endif
|
|
+
|
|
+#ifdef HAVE_IPV6
|
|
typedef int (*ping_efp6) (int code, void *closure, struct sockaddr_in6 * dest,
|
|
struct sockaddr_in6 * from, struct icmp6_hdr * icmp,
|
|
int datalen);
|
|
+#endif
|
|
|
|
typedef int (*ping_efp) (int code,
|
|
void *closure,
|
|
@@ -89,13 +105,17 @@ typedef int (*ping_efp) (int code,
|
|
struct ip * ip, icmphdr_t * icmp, int datalen);
|
|
|
|
union event {
|
|
+#ifdef HAVE_IPV6
|
|
ping_efp6 handler6;
|
|
+#endif
|
|
ping_efp handler;
|
|
};
|
|
|
|
union ping_address {
|
|
struct sockaddr_in ping_sockaddr;
|
|
+#ifdef HAVE_IPV6
|
|
struct sockaddr_in6 ping_sockaddr6;
|
|
+#endif
|
|
};
|
|
|
|
typedef struct ping_data PING;
|
|
--
|
|
2.8.3
|
|
|