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:


------------------------------------------------------------------------------