Subject: Re: kern/29925
To: None <gnats-bugs@netbsd.org, kern-bug-people@netbsd.org,>
From: Christos Zoulas <christos@zoulas.com>
List: netbsd-bugs
Date: 07/28/2005 11:47:01
On Jul 28,  3:42pm, thorpej@shagadelic.org (Jason Thorpe) wrote:
-- Subject: Re: kern/29925

|  >   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.

Yes, my fault for not doing this.

|  >   /*
|  >    * 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?

I think that this is the case (the receive filter is different) but I
don't have a card or docs to test with.

christos