From owner-freebsd-bugs Tue Jan 2 17:20:05 1996 Return-Path: owner-bugs Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id RAA25995 for bugs-outgoing; Tue, 2 Jan 1996 17:20:05 -0800 (PST) Received: (from gnats@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id RAA25985 Tue, 2 Jan 1996 17:20:02 -0800 (PST) Date: Tue, 2 Jan 1996 17:20:02 -0800 (PST) Message-Id: <199601030120.RAA25985@freefall.freebsd.org> To: freebsd-bugs Cc: From: Bill Fenner Subject: Re: kern/923: Multicast problems on point-to-point interfaces Reply-To: Bill Fenner Sender: owner-bugs@FreeBSD.ORG Precedence: bulk The following reply was made to PR kern/923; it has been noted by GNATS. From: Bill Fenner To: wollman@lcs.mit.edu Cc: marquard@austin.ibm.com, FreeBSD-gnats-submit@freebsd.org, Bill Fenner Subject: Re: kern/923: Multicast problems on point-to-point interfaces Date: Tue, 2 Jan 1996 17:14:56 PST In message <9601011916.AA11388@halloran-eldar.lcs.mit.edu> Garrett said: >We are unlikely to >get the multicast people to change their software, because they are >just following the rules. Actually, I have been doing some thinking on this topic. There are two things that can be done: 1) Make mrouted work in the case of non-''half-router'' situations. This one is easy; check the point-to-point destination addresses first, then if you have no match check the source. Note that you can't just check them both on the first pass, since non-point-to-point interfaces should be chosen over point-to-point interfaces. An experimental patch follows (I have thought about this but haven't tested it) *** in_var.h.old Tue Nov 14 14:52:43 1995 --- in_var.h Tue Jan 2 17:11:10 1996 *************** *** 106,111 **** --- 106,117 ---- IA_DSTSIN(ia):IA_SIN(ia))->sin_addr.s_addr != (addr).s_addr; \ ia = ia->ia_next) \ continue; \ + if (ia == NULL) \ + for (ia = in_ifaddr; \ + ia != NULL && ia->ia_ifp->if_flags & IFF_POINTOPOINT && \ + IA_SIN(ia)->sin_addr.s_addr != (addr).s_addr; \ + ia = ia->ia_next) \ + continue; \ (ifp) = (ia == NULL) ? NULL : ia->ia_ifp; \ } 2) Make mrouted work on a ''half-router''. I'm not sure this is simple but I am percolating a couple of ideas. Bill