Subject: port-i386/418: if_ep.c doesn't have multicast support.
To: None <gnats-admin>
From: Herb Peyerl <Herb.Peyerl@sidney.novatel.ca>
List: netbsd-bugs
Date: 08/16/1994 16:35:05
>Number: 418
>Category: port-i386
>Synopsis: if_ep.c doesn't have multicast support.
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: gnats-admin (GNATS administrator)
>State: open
>Class: change-request
>Submitter-Id: net
>Arrival-Date: Tue Aug 16 16:35:04 1994
>Originator: Herb Peyerl
>Organization:
hpeyerl@novatel.ca | NovAtel Communications Ltd.
hpeyerl@fsa.ca | <nothing I say matters anyway>
"A sucking chest wound is nature's way of telling you to slow down."
>Release: semi-current 1.0 beta.
>Environment:
P60, 16mb, 2x3c509,semi-current
System: NetBSD sidney 1.0_BETA NetBSD 1.0_BETA (SIDNEY) #5: Tue Aug 16 16:13:59 MDT 1994 hpeyerl@sidney:/home/src/sys/arch/i386/compile/SIDNEY i386
>Description:
if_ep doessn't have multicast support in it.
>How-To-Repeat:
try running 'mrouted' on a machine with a 3c509 in it.
>Fix:
the following patch taken straight out of if_ed and changed
to fit:
# diff -bc if_ep.c.orig if_ep.c
*** if_ep.c.orig Tue Aug 16 17:24:17 1994
--- if_ep.c Tue Aug 16 14:08:29 1994
***************
*** 865,870 ****
--- 865,885 ----
sizeof(sc->sc_addr));
break;
#endif
+ case SIOCADDMULTI:
+ case SIOCDELMULTI:
+ /* Update our multicast list. */
+ error = (cmd == SIOCADDMULTI) ?
+ ether_addmulti(ifr, &sc->sc_arpcom) :
+ ether_delmulti(ifr, &sc->sc_arpcom);
+ if (error == ENETRESET) {
+ /*
+ * Multicast list has changed; set the hardware filter
+ * accordingly.
+ */
+ epreset(sc);
+ error = 0;
+ }
+ break;
default:
error = EINVAL;
}
>Audit-Trail:
>Unformatted:
------------------------------------------------------------------------------