From owner-freebsd-bugs Thu May 25 16:30:46 1995 Return-Path: bugs-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id QAA21881 for bugs-outgoing; Thu, 25 May 1995 16:30:46 -0700 Received: from alpha.xerox.com (alpha.Xerox.COM [13.1.64.93]) by freefall.cdrom.com (8.6.10/8.6.6) with SMTP id QAA21791 ; Thu, 25 May 1995 16:27:50 -0700 Received: from crevenia.parc.xerox.com ([13.2.116.11]) by alpha.xerox.com with SMTP id <14482(4)>; Thu, 25 May 1995 16:25:14 PDT Received: from localhost by crevenia.parc.xerox.com with SMTP id <49871>; Thu, 25 May 1995 16:25:03 -0700 X-Mailer: exmh version 1.6 4/21/95 To: Mark Tinguely cc: freebsd-questions@FreeBSD.org, freebsd-bugs@FreeBSD.org Subject: Re: multicasts In-reply-to: Your message of "Thu, 25 May 95 13:08:05 PDT." <199505252008.PAA28848@plains.nodak.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Thu, 25 May 1995 16:24:48 PDT From: Bill Fenner Message-Id: <95May25.162503pdt.49871@crevenia.parc.xerox.com> Sender: bugs-owner@FreeBSD.org Precedence: bulk In message <199505252008.PAA28848@plains.nodak.edu> you write: > mail forwarded from freebsd-bugs: Pardon me if I'm being obtuse, but... > The following diff to /usr/src/sys/i386/isa/if_ep.c > > *************** > *** 1336,1341 **** > --- 1337,1363 ---- > ifp->if_mtu = ifr->ifr_mtu; > } > break; > + > + case SIOCADDMULTI: > + case SIOCDELMULTI: > + /* > + * Update our multicast listeners > + */ > + if (cmd == SIOCADDMULTI) { > + ether_addmulti(ifr, &sc->arpcom); > + } else { > + ether_delmulti(ifr, &sc->arpcom); > + } Where, exactly, does "error" get set? > + if (error == ENETRESET) { > + /* It doesn't seem like epreset() actually sets up multicast filters. Of course, I don't know what FIL_GROUP means; maybe it's promiscuous multicast, in which case there is really no need for the ether_*multi calls, just let the ioctl's succeed. Bill