Since ac->ac_multicnt is incremented even when we have a
multicast range the xl_iff_90x() function can be simplified
a bit since the older chips if receiving multicast traffic
are set to receive all multicast traffic.
OK?
Index: xl.c
===================================================================
RCS file: /home/cvs/src/sys/dev/ic/xl.c,v
retrieving revision 1.105
diff -u -p -r1.105 xl.c
--- xl.c 24 Feb 2012 06:19:00 -0000 1.105
+++ xl.c 8 Apr 2012 23:23:36 -0000
@@ -601,8 +601,7 @@ xl_iff_90x(struct xl_softc *sc)
*/
rxfilt |= XL_RXFILTER_BROADCAST | XL_RXFILTER_INDIVIDUAL;
- if (ifp->if_flags & IFF_PROMISC || ac->ac_multirangecnt > 0 ||
- ac->ac_multicnt > 0) {
+ if (ifp->if_flags & IFF_PROMISC || ac->ac_multicnt > 0) {
ifp->if_flags |= IFF_ALLMULTI;
if (ifp->if_flags & IFF_PROMISC)
rxfilt |= XL_RXFILTER_ALLFRAMES;
--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.