diff options
| author | Pyun YongHyeon <yongari@FreeBSD.org> | 2008-02-03 05:18:14 +0000 |
|---|---|---|
| committer | Pyun YongHyeon <yongari@FreeBSD.org> | 2008-02-03 05:18:14 +0000 |
| commit | 005c6b20f786196006319183901808a011b1b083 (patch) | |
| tree | c099d2df3a71ac41b73b2ef29b2ebe618a535036 | |
| parent | cfe66b59d0c971b4376bffb906eb125ede23b411 (diff) | |
Notes
| -rw-r--r-- | sys/dev/re/if_re.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/dev/re/if_re.c b/sys/dev/re/if_re.c index 8abe82345b97..9f426df2cf3a 100644 --- a/sys/dev/re/if_re.c +++ b/sys/dev/re/if_re.c @@ -643,8 +643,12 @@ re_setmulti(sc) if (ifp->if_flags & IFF_ALLMULTI || ifp->if_flags & IFF_PROMISC) { if (ifp->if_flags & IFF_PROMISC) rxfilt |= RL_RXCFG_RX_ALLPHYS; - if (ifp->if_flags & IFF_ALLMULTI) - rxfilt |= RL_RXCFG_RX_MULTI; + /* + * Unlike other hardwares, we have to explicitly set + * RL_RXCFG_RX_MULTI to receive multicast frames in + * promiscuous mode. + */ + rxfilt |= RL_RXCFG_RX_MULTI; CSR_WRITE_4(sc, RL_RXCFG, rxfilt); CSR_WRITE_4(sc, RL_MAR0, 0xFFFFFFFF); CSR_WRITE_4(sc, RL_MAR4, 0xFFFFFFFF); |
