From owner-freebsd-bugs Mon Jan 8 20:20:10 1996 Return-Path: owner-bugs Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id UAA06229 for bugs-outgoing; Mon, 8 Jan 1996 20:20:10 -0800 (PST) Received: (from gnats@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id UAA06221 Mon, 8 Jan 1996 20:20:04 -0800 (PST) Date: Mon, 8 Jan 1996 20:20:04 -0800 (PST) Message-Id: <199601090420.UAA06221@freefall.freebsd.org> To: freebsd-bugs Cc: From: Dave Marquardt Subject: Re: kern/923: Multicast problems on point-to-point interfaces Reply-To: Dave Marquardt Sender: owner-bugs@FreeBSD.ORG Precedence: bulk The following reply was made to PR kern/923; it has been noted by GNATS. From: Dave Marquardt To: Bill Fenner Cc: wollman@lcs.mit.edu, FreeBSD-gnats-submit@freebsd.org Subject: Re: kern/923: Multicast problems on point-to-point interfaces Date: Mon, 08 Jan 1996 22:12:06 -0600 On Wed, 3 Jan 1996 07:04:47 PST Bill Fenner wrote: > In message <96Jan2.171459pst.177478@crevenia.parc.xerox.com> I wrote: > >*** in_var.h.old Tue Nov 14 14:52:43 1995 > >--- in_var.h Tue Jan 2 17:11:10 1996 > > Ugh. I really shouldn't try writing code after two days of travel hell. > Try this one: > > > *** in_var.h.old Tue Nov 14 14:52:43 1995 > --- in_var.h Wed Jan 3 07:02:45 1996 > *************** > *** 106,111 **** > --- 106,118 ---- > 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->ia_next) \ > + if (ia->ia_ifp->if_flags & IFF_POINTOPOINT && \ > + IA_SIN(ia)->sin_addr.s_addr != (addr).s_addr) \ ^^ Seems like that should be ==, shouldn't it? With !=, you quit on the first interface whose address DOESN'T match, which I don't think is what was intended. > + break; \ > (ifp) = (ia == NULL) ? NULL : ia->ia_ifp; \ > } > > Bill -- Dave Marquardt SMTP: marquard@austin.ibm.com VNET: MARQUARD at AUSTIN T/L 678-1139 +1 512 838-1139