Subject: Re: kern/29925
To: None <kern-bug-people@netbsd.org, gnats-admin@netbsd.org,>
From: Jason Thorpe <thorpej@shagadelic.org>
List: netbsd-bugs
Date: 07/28/2005 15:42:02
The following reply was made to PR kern/29925; it has been noted by GNATS.

From: Jason Thorpe <thorpej@shagadelic.org>
To: kefren@netbsd.ro
Cc: kern-bug-people@netbsd.org, netbsd-bugs@netbsd.org,
	gnats-bugs@netbsd.org
Subject: Re: kern/29925
Date: Thu, 28 Jul 2005 08:41:28 -0700

 On Jul 19, 2005, at 11:12 AM, Mihai CHELARU wrote:
 
 >   int    stge_copy_small = 0;
 >  +int    stge_1023_bug = 0;      /* XXX: ST1023 works only in  
 > promisc mode */
 
 You should not use a global variable like this.  A member (or flag)  
 in the softc would be more appropriate.
 
 >   /*
 >    * stge_add_rxbuf:
 >  @@ -1863,6 +1874,11 @@
 >          if (ifp->if_flags & IFF_BROADCAST)
 >                  sc->sc_ReceiveMode |= RM_ReceiveBroadcast;
 >
 >  +       /* XXX: ST1023 only works in promiscuous mode */
 >  +
 >  +       if (stge_1023_bug)
 >  +               ifp->if_flags |= IFF_PROMISC;
 >  +
 
 Are you sure this is really the case?  Perhaps the receive filter is  
 simply different.  What evidence do you have that promiscuous mode is  
 the only workable solution?
 
 
 >          if (ifp->if_flags & IFF_PROMISC) {
 >                  sc->sc_ReceiveMode |= RM_ReceiveAllFrames;
 >                  goto allmulti;
 >
 >
 
 -- thorpej