diff options
author | Martin Mares <mj@ucw.cz> | 2000-04-20 23:05:41 +0000 |
---|---|---|
committer | Martin Mares <mj@ucw.cz> | 2000-04-20 23:05:41 +0000 |
commit | f380aa60faa41872b78155f899518b25933d18b9 (patch) | |
tree | 77122af7cbba3d464512f70044c17fe9e8c4abbb /sysdep | |
parent | f33c6c66020da3b10b27fba5585d20702b173c6f (diff) |
IPv6 compiles with glibc 2.1.
Diffstat (limited to 'sysdep')
-rw-r--r-- | sysdep/linux/sysio.h | 6 | ||||
-rw-r--r-- | sysdep/unix/io.c | 6 |
2 files changed, 9 insertions, 3 deletions
diff --git a/sysdep/linux/sysio.h b/sysdep/linux/sysio.h index 58fb9779..0e8ee3dd 100644 --- a/sysdep/linux/sysio.h +++ b/sysdep/linux/sysio.h @@ -1,14 +1,16 @@ /* * BIRD Internet Routing Daemon -- Linux Multicasting and Network Includes * - * (c) 1998--1999 Martin Mares <mj@ucw.cz> + * (c) 1998--2000 Martin Mares <mj@ucw.cz> * * Can be freely distributed and used under the terms of the GNU GPL. */ #ifdef IPV6 -#include <linux/in6.h> /* FIXMEv6: glibc variant? */ +#ifdef CONFIG_IPV6_GLIBC_20 +#include <linux/in6.h> +#endif static inline void set_inaddr(struct in6_addr *ia, ip_addr a) diff --git a/sysdep/unix/io.c b/sysdep/unix/io.c index 7857a272..aff144b6 100644 --- a/sysdep/unix/io.c +++ b/sysdep/unix/io.c @@ -1,7 +1,7 @@ /* * BIRD Internet Routing Daemon -- Unix I/O * - * (c) 1998--1999 Martin Mares <mj@ucw.cz> + * (c) 1998--2000 Martin Mares <mj@ucw.cz> * * Can be freely distributed and used under the terms of the GNU GPL. */ @@ -585,7 +585,11 @@ sk_open(sock *s) { struct ipv6_mreq mreq; set_inaddr(&mreq.ipv6mr_multiaddr, s->daddr); +#ifdef CONFIG_IPV6_GLIBC_20 mreq.ipv6mr_ifindex = s->iface->index; +#else + mreq.ipv6mr_interface = s->iface->index; +#endif if (setsockopt(fd, SOL_IPV6, IPV6_ADD_MEMBERSHIP, &mreq, sizeof(mreq)) < 0) ERR("IPV6_ADD_MEMBERSHIP"); } |