We were unable to get a wi configured on 4.0 release yesterday but it may 
be that we didn't have the time to check out the configuration fully.  
Was never recognized on boot-up.  We've got a few more to get configured 
over the next week so we'll put your patch in and try again.

Jim Flowers <[EMAIL PROTECTED]>
#4 ISP on C|NET, #1 in Ohio

On Thu, 13 Apr 2000, Nick Sayer wrote:

> 
> I have had some wi cards for a while, and while I have managed to get
> an Airport to work (a friend helped me out), I believe that adding wi
> to the list of bridge compatible interfaces may be helpful.
> 
> According to the documentation, the IBSS mode of the driver doesn't
> work. That's too bad, as in combination with this patch, you could
> make your own "airport" this way. IBSS is desirable because it allows
> power management mode to work on the BSS client machines. C'est la
> guerre.
> 
> I don't have a wi in a position that is comfortable for me to test.
> But if someone can verify that this works, I will commit it.
> 
> This is relative to RELENG_4.
> 
> --- if_wi.c.orig      Thu Apr 13 16:36:37 2000
> +++ if_wi.c   Thu Apr 13 16:48:53 2000
> @@ -102,6 +102,10 @@
>  
>  #include <net/bpf.h>
>  
> +#ifdef BRIDGE
> +#include <net/bridge.h>
> +#endif
> +
>  #include <machine/if_wavelan_ieee.h>
>  #include <i386/isa/if_wireg.h>
>  
> @@ -425,8 +429,31 @@
>       ifp->if_ipackets++;
>  
>       /* Handle BPF listeners. */
> -     if (ifp->if_bpf) {
> +     if (ifp->if_bpf)
>               bpf_mtap(ifp, m);
> +
> +#ifdef BRIDGE
> +     if (do_bridge) {
> +             struct ifnet *bdg_ifp;
> +             bdg_ifp = bridge_in(m);
> +             if (bdg_ifp == BDG_DROP) {
> +                     if (m)
> +                             m_free(m);
> +                     return; /* and drop */
> +             }
> +             if (bdg_ifp != BDG_LOCAL)
> +                     bdg_forward(&m, bdg_ifp);
> +             if (bdg_ifp != BDG_LOCAL && bdg_ifp != BDG_BCAST &&
> +                     bdg_ifp != BDG_MCAST) {
> +                     if (m)
> +                             m_free(m);
> +                     return; /* and drop */
> +             }
> +             /* all others accepted locally */
> +     }
> +     else
> +#endif
> +     {
>               if (ifp->if_flags & IFF_PROMISC &&
>                   (bcmp(eh->ether_dhost, sc->arpcom.ac_enaddr,
>                   ETHER_ADDR_LEN) && (eh->ether_dhost[0] & 1) == 0)) {
> 
> 
> To Unsubscribe: send mail to [EMAIL PROTECTED]
> with "unsubscribe freebsd-hackers" in the body of the message
> 


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to