Subject: Re: kern/29925
To: None <kefren@netbsd.ro>
From: Jason Thorpe <thorpej@shagadelic.org>
List: netbsd-bugs
Date: 07/28/2005 08:41:28
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