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