Temporary work-arounds for multicast problems. Needs further investigation.
This commit is contained in:
parent
0da472d7e8
commit
30bc402ebb
3 changed files with 10 additions and 0 deletions
2
TODO
2
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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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? */
|
||||
|
|
Loading…
Reference in a new issue