version 1.40, 2019/05/23 13:10:52 |
version 1.41, 2019/05/28 07:41:50 |
Line 370 allmulti: ifp->if_flags |= IFF_ALLMULTI; |
|
Line 370 allmulti: ifp->if_flags |= IFF_ALLMULTI; |
|
/* now program new ones */ |
/* now program new ones */ |
DPRINTF(("%s: initializing hash table\n", |
DPRINTF(("%s: initializing hash table\n", |
device_xname(sc->axen_dev))); |
device_xname(sc->axen_dev))); |
|
ETHER_LOCK(ec); |
ETHER_FIRST_MULTI(step, ec, enm); |
ETHER_FIRST_MULTI(step, ec, enm); |
while (enm != NULL) { |
while (enm != NULL) { |
if (memcmp(enm->enm_addrlo, enm->enm_addrhi, |
if (memcmp(enm->enm_addrlo, enm->enm_addrhi, |
Line 377 allmulti: ifp->if_flags |= IFF_ALLMULTI; |
|
Line 378 allmulti: ifp->if_flags |= IFF_ALLMULTI; |
|
DPRINTF(("%s: allmulti\n", |
DPRINTF(("%s: allmulti\n", |
device_xname(sc->axen_dev))); |
device_xname(sc->axen_dev))); |
memset(hashtbl, 0, sizeof(hashtbl)); |
memset(hashtbl, 0, sizeof(hashtbl)); |
|
ETHER_UNLOCK(ec); |
goto allmulti; |
goto allmulti; |
} |
} |
h = ether_crc32_be(enm->enm_addrlo, |
h = ether_crc32_be(enm->enm_addrlo, |
Line 387 allmulti: ifp->if_flags |= IFF_ALLMULTI; |
|
Line 389 allmulti: ifp->if_flags |= IFF_ALLMULTI; |
|
ether_sprintf(enm->enm_addrlo))); |
ether_sprintf(enm->enm_addrlo))); |
ETHER_NEXT_MULTI(step, enm); |
ETHER_NEXT_MULTI(step, enm); |
} |
} |
|
ETHER_UNLOCK(ec); |
rxmode |= AXEN_RXCTL_ACPT_MCAST; |
rxmode |= AXEN_RXCTL_ACPT_MCAST; |
} |
} |
|
|