diff options
author | Martin Mares <mj@ucw.cz> | 1999-04-12 17:27:56 +0200 |
---|---|---|
committer | Martin Mares <mj@ucw.cz> | 1999-04-12 17:27:56 +0200 |
commit | 61fb537c6273c50deb7d33f8af246993eab4bc4d (patch) | |
tree | ee108fce7337013453b6b9c5065ccd2e2b45acce /sysdep/unix | |
parent | 5a99ade413b97a780758f5c8f927604ad6c8e57b (diff) | |
download | bird-61fb537c6273c50deb7d33f8af246993eab4bc4d.tar bird-61fb537c6273c50deb7d33f8af246993eab4bc4d.zip |
Use `struct ip_mreqn' instead of `struct ip_mreq' for multicast
operations on 2.1/2.2 kernels. This allows passing of real interface
indexes instead of referencing interfaces by their IP addresses which
fails badly in presence of unnumbered interfaces.
Unfortunately, this structure is not visible with glibc 2.0 as it provides
its own networking headers :-( Both libc5 and glibc 2.1 should be OK.
Diffstat (limited to 'sysdep/unix')
-rw-r--r-- | sysdep/unix/io.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/sysdep/unix/io.c b/sysdep/unix/io.c index 69f8a5c..d98972c 100644 --- a/sysdep/unix/io.c +++ b/sysdep/unix/io.c @@ -407,8 +407,7 @@ sk_open(sock *s) case SK_UDP_MC: case SK_IP_MC: { -#ifdef HAVE_IP_MREQN - /* FIXME: Define HAVE_IP_MREQN somewhere :) */ +#ifdef HAVE_STRUCT_IP_MREQN struct ip_mreqn mreq; #define mreq_add mreq ASSERT(s->iface); |