Deleted Added
full compact
27c27
< * $Id: if_ed.c,v 1.110 1996/12/10 07:29:39 davidg Exp $
---
> * $Id: if_ed.c,v 1.111 1996/12/13 21:28:19 wollman Exp $
2676c2676,2677
< * Update out multicast list.
---
> * Multicast list has changed; set the hardware filter
> * accordingly.
2678,2690c2679,2680
< error = (command == SIOCADDMULTI) ?
< ether_addmulti(ifr, &sc->arpcom) :
< ether_delmulti(ifr, &sc->arpcom);
<
< if (error == ENETRESET) {
<
< /*
< * Multicast list has changed; set the hardware filter
< * accordingly.
< */
< ed_setrcr(sc);
< error = 0;
< }
---
> ed_setrcr(sc);
> error = 0;
3423,3424c3413
< register struct ether_multi *enm;
< register struct ether_multistep step;
---
> struct ifmultiaddr *ifma;
3429,3436c3418,3423
< ETHER_FIRST_MULTI(step, &sc->arpcom, enm);
< while (enm != NULL) {
< if (bcmp(enm->enm_addrlo, enm->enm_addrhi, 6) != 0) {
< mcaf[0] = 0xffffffff;
< mcaf[1] = 0xffffffff;
< return;
< }
< index = ds_crc(enm->enm_addrlo) >> 26;
---
> for (ifma = sc->arpcom.ac_if.if_multiaddrs.lh_first; ifma;
> ifma = ifma->ifma_link.le_next) {
> if (ifma->ifma_addr->sa_family != AF_LINK)
> continue;
> index = ds_crc(LLADDR((struct sockaddr_dl *)ifma->ifma_addr))
> >> 26;
3438,3439d3424
<
< ETHER_NEXT_MULTI(step, enm);