summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2008-11-30 20:48:57 +0000
committersam <sam@FreeBSD.org>2008-11-30 20:48:57 +0000
commit6b792c2ee06563b8d07dd85701e8fda9af0d2c30 (patch)
tree80abbbffde715588fbece9319b5f313a23b741fd
parent57cb6978291789ff7c2ecc752d50b676c520dfc7 (diff)
downloadFreeBSD-src-6b792c2ee06563b8d07dd85701e8fda9af0d2c30.zip
FreeBSD-src-6b792c2ee06563b8d07dd85701e8fda9af0d2c30.tar.gz
hookup mcast and promisc callbacks
Submitted by: "Paul B. Mahol" <onemda@gmail.com>
-rw-r--r--sys/dev/if_ndis/if_ndis.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/sys/dev/if_ndis/if_ndis.c b/sys/dev/if_ndis/if_ndis.c
index 49ca7aa..1a2db17 100644
--- a/sys/dev/if_ndis/if_ndis.c
+++ b/sys/dev/if_ndis/if_ndis.c
@@ -142,6 +142,8 @@ static void ndis_tick (void *);
static void ndis_ticktask (device_object *, void *);
static int ndis_raw_xmit (struct ieee80211_node *, struct mbuf *,
const struct ieee80211_bpf_params *);
+static void ndis_update_mcast (struct ifnet *ifp);
+static void ndis_update_promisc (struct ifnet *ifp);
static void ndis_start (struct ifnet *);
static void ndis_starttask (device_object *, void *);
static void ndis_resettask (device_object *, void *);
@@ -915,6 +917,8 @@ got_crypto:
//ic->ic_bss->ni_chan = ic->ic_bsschan;
ic->ic_vap_create = ndis_vap_create;
ic->ic_vap_delete = ndis_vap_delete;
+ ic->ic_update_mcast = ndis_update_mcast;
+ ic->ic_update_promisc = ndis_update_promisc;
} else {
ifmedia_init(&sc->ifmedia, IFM_IMASK, ndis_ifmedia_upd,
@@ -1767,6 +1771,20 @@ ndis_raw_xmit(struct ieee80211_node *ni, struct mbuf *m,
}
static void
+ndis_update_mcast(struct ifnet *ifp)
+{
+ struct ndis_softc *sc = ifp->if_softc;
+
+ ndis_setmulti(sc);
+}
+
+static void
+ndis_update_promisc(struct ifnet *ifp)
+{
+ /* not supported */
+}
+
+static void
ndis_starttask(d, arg)
device_object *d;
void *arg;
OpenPOWER on IntegriCloud