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