- mrouted doesn't allow loopback of group-specific queries, thus if a
host sends a leave message for a group that the router is a member of that membership gets forgotten until the next general query. - the second group-specific query generated looks like a general query sent to a specific group Submitted by: Bill Fenner <fenner@parc.xerox.com>
This commit is contained in:
parent
48d837b22b
commit
efb0750d1d
@ -7,7 +7,7 @@
|
||||
* Leland Stanford Junior University.
|
||||
*
|
||||
*
|
||||
* $Id: igmp.c,v 3.6 1995/06/25 18:52:55 fenner Exp $
|
||||
* $Id: igmp.c,v 1.7 1995/06/28 17:58:32 wollman Exp $
|
||||
*/
|
||||
|
||||
|
||||
@ -314,7 +314,8 @@ send_igmp(src, dst, type, code, group, datalen)
|
||||
IGMP_MINLEN + datalen);
|
||||
|
||||
if (IN_MULTICAST(ntohl(dst))) k_set_if(src);
|
||||
if (dst == allhosts_group) k_set_loop(TRUE);
|
||||
if (dst == allhosts_group || type == IGMP_HOST_MEMBERSHIP_QUERY)
|
||||
k_set_loop(TRUE);
|
||||
|
||||
bzero(&sdst, sizeof(sdst));
|
||||
sdst.sin_family = AF_INET;
|
||||
@ -332,7 +333,8 @@ send_igmp(src, dst, type, code, group, datalen)
|
||||
inet_fmt(dst, s1), inet_fmt(src, s2));
|
||||
}
|
||||
|
||||
if (dst == allhosts_group) k_set_loop(FALSE);
|
||||
if (dst == allhosts_group || type == IGMP_HOST_MEMBERSHIP_QUERY)
|
||||
k_set_loop(FALSE);
|
||||
|
||||
log(LOG_DEBUG, 0, "SENT %s from %-15s to %s",
|
||||
packet_kind(type, code), inet_fmt(src, s1), inet_fmt(dst, s2));
|
||||
|
Loading…
Reference in New Issue
Block a user