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

Reply via email to