]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Temporary work-arounds for multicast problems. Needs further investigation.
authorMartin Mares <mj@ucw.cz>
Wed, 8 Dec 1999 15:12:54 +0000 (15:12 +0000)
committerMartin Mares <mj@ucw.cz>
Wed, 8 Dec 1999 15:12:54 +0000 (15:12 +0000)
TODO
sysdep/linux/netlink/netlink.c
sysdep/unix/io.c

diff --git a/TODO b/TODO
index 48e7e1af830d89030f332301d25c4b80c10d1b3c..4822ae45e607202de8b0d6e5a5fd317f81c75a97 100644 (file)
--- a/TODO
+++ b/TODO
@@ -21,6 +21,8 @@ Core
 
 - iface: SIOCGIFINDEX exists on glibc systems, but it doesn't work on 2.0.x kernels!
 
+* glibc problems with struct mreqn
+
 - socket: Use IP_RECVERR for BGP TCP sockets?
 
 - OSPF: refuse running on non-multicast devices
index bf619701c75827bce0a7f78c5e1ef01b74a1f743..25d8fc03fd08b0031c577d9dc54589f94ca0ab88 100644 (file)
@@ -302,7 +302,11 @@ nl_parse_link(struct nlmsghdr *h, int scan)
       if (fl & IFF_UP)
        f.flags |= IF_LINK_UP;
       if (fl & IFF_POINTOPOINT)
+#if 0
        f.flags |= IF_UNNUMBERED | IF_MULTICAST;
+#else  /* FIXME: Are tunnels always unnumbered? */
+        f.flags |= IF_MULTICAST;
+#endif
       if (fl & IFF_LOOPBACK)
        f.flags |= IF_LOOPBACK | IF_IGNORE;
       if (fl & IFF_BROADCAST)
index 45db1a1076fe7af0a2b2dd788aca25adfe522349..7e71d20d08b1a4bd71d6f8d3266a1bcb2079b9b9 100644 (file)
@@ -618,7 +618,11 @@ sk_open(sock *s)
          strcpy(ifr.ifr_name, s->iface->name);
          if (setsockopt(fd, SOL_SOCKET, SO_BINDTODEVICE, &ifr, sizeof(ifr)) < 0)
            ERR("SO_BINDTODEVICE");
+#if 0                                  /* FIXME */
          mreq_add.imr_interface.s_addr = INADDR_ANY;
+#else
+       mreq_add.imr_interface = mreq;
+#endif
        }
 #else
 #error Multicasts not supported on PtP devices         /* FIXME: Solve it somehow? */