12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- [PATCH] fix build on uClibc without IPv6 support
- Disable IPv6 support code when building with uClibc configured without IPv6
- support.
- Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
- ---
- ip/ip6tunnel.c | 6 ++++++
- ip/ipprefix.c | 8 ++++++++
- ip/iptunnel.c | 6 ++++++
- 3 files changed, 20 insertions(+)
- Index: iproute2-2.6.37-orig/ip/ip6tunnel.c
- ===================================================================
- --- iproute2-2.6.37-orig.orig/ip/ip6tunnel.c
- +++ iproute2-2.6.37-orig/ip/ip6tunnel.c
- @@ -20,6 +20,10 @@
- * Masahide NAKAMURA @USAGI
- */
-
- +#include <features.h>
- +#if defined(__UCLIBC__) && !defined (__UCLIBC_HAS_IPV6__)
- +#else
- +
- #include <stdio.h>
- #include <string.h>
- #include <stdlib.h>
- @@ -410,3 +414,5 @@ int do_ip6tunnel(int argc, char **argv)
- fprintf(stderr, "Command \"%s\" is unknown, try \"ip -f inet6 tunnel help\".\n", *argv);
- exit(-1);
- }
- +
- +#endif /* no ipv6 */
- Index: iproute2-2.6.37-orig/ip/ipprefix.c
- ===================================================================
- --- iproute2-2.6.37-orig.orig/ip/ipprefix.c
- +++ iproute2-2.6.37-orig/ip/ipprefix.c
- @@ -22,11 +22,17 @@
- * Authors:
- * Masahide NAKAMURA @USAGI
- */
- +#include <features.h>
- +#if defined(__UCLIBC__) && !defined (__UCLIBC_HAS_IPV6__)
- +#define NO_IPV6
- +#endif
-
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- +#ifndef NO_IPV6
- #include <netinet/icmp6.h>
- +#endif
- #include "utils.h"
-
- /* prefix flags; see kernel's net/ipv6/addrconf.c and include/net/if_inet6.h */
- @@ -62,10 +68,12 @@ int print_prefix(const struct sockaddr_n
- fprintf(stderr, "wrong family %d\n", prefix->prefix_family);
- return 0;
- }
- +#ifdef ND_OPT_PREFIX_INFORMATION
- if (prefix->prefix_type != ND_OPT_PREFIX_INFORMATION) {
- fprintf(stderr, "wrong ND type %d\n", prefix->prefix_type);
- return 0;
- }
- +#endif
-
- parse_rtattr(tb, RTA_MAX, RTM_RTA(prefix), len);
-
- Index: iproute2-2.6.37-orig/ip/iptunnel.c
- ===================================================================
- --- iproute2-2.6.37-orig.orig/ip/iptunnel.c
- +++ iproute2-2.6.37-orig/ip/iptunnel.c
- @@ -9,6 +9,10 @@
- * Authors: Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru>
- *
- */
- +#include <features.h>
- +#if defined(__UCLIBC__) && !defined (__UCLIBC_HAS_IPV6__)
- +#define NO_IPV6
- +#endif
-
- #include <stdio.h>
- #include <stdlib.h>
- @@ -601,8 +605,10 @@ int do_iptunnel(int argc, char **argv)
- * protocol-independent because of unarranged structure between
- * IPv4 and IPv6.
- */
- +#ifndef NO_IPV6
- case AF_INET6:
- return do_ip6tunnel(argc, argv);
- +#endif
- default:
- fprintf(stderr, "Unsupported family:%d\n", preferred_family);
- exit(-1);
|