aboutsummaryrefslogtreecommitdiff
path: root/sys/net80211/ieee80211_node.c
diff options
context:
space:
mode:
authorSam Leffler <sam@FreeBSD.org>2003-09-15 22:28:07 +0000
committerSam Leffler <sam@FreeBSD.org>2003-09-15 22:28:07 +0000
commitd1e61976a0cf0cab82ca1a88c3d7cd9dd43d78a6 (patch)
tree0e47a901ca00cc77a28a919bce48d95fbd978a11 /sys/net80211/ieee80211_node.c
parentc87cfaedf2d0c4fcf27f10fb12b454f09f1edd49 (diff)
downloadsrc-d1e61976a0cf0cab82ca1a88c3d7cd9dd43d78a6.tar.gz
src-d1e61976a0cf0cab82ca1a88c3d7cd9dd43d78a6.zip
Generalize the per-node RSSI data so drivers can do more interesting
things than record a single value. o add a per-node method for returning the "current RSSI" for a node o create a default method that returns ni_rssi which is the rssi for the last received frame o use the per-node "get rssi" method to return data for the RID's submitted by wicontrol, et. al. Loosely based on work by Tom Marshall <tommy@home.tig-grr.com> for MADWIFI.
Notes
Notes: svn path=/head/; revision=120104
Diffstat (limited to 'sys/net80211/ieee80211_node.c')
-rw-r--r--sys/net80211/ieee80211_node.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/net80211/ieee80211_node.c b/sys/net80211/ieee80211_node.c
index 5ea34667c67c..fe0c9b16f8e7 100644
--- a/sys/net80211/ieee80211_node.c
+++ b/sys/net80211/ieee80211_node.c
@@ -70,6 +70,9 @@ static struct ieee80211_node *ieee80211_node_alloc(struct ieee80211com *);
static void ieee80211_node_free(struct ieee80211com *, struct ieee80211_node *);
static void ieee80211_node_copy(struct ieee80211com *,
struct ieee80211_node *, const struct ieee80211_node *);
+static u_int8_t ieee80211_node_getrssi(struct ieee80211com *,
+ struct ieee80211_node *);
+
static void ieee80211_setup_node(struct ieee80211com *ic,
struct ieee80211_node *ni, u_int8_t *macaddr);
static void _ieee80211_free_node(struct ieee80211com *,
@@ -86,6 +89,7 @@ ieee80211_node_attach(struct ifnet *ifp)
ic->ic_node_alloc = ieee80211_node_alloc;
ic->ic_node_free = ieee80211_node_free;
ic->ic_node_copy = ieee80211_node_copy;
+ ic->ic_node_getrssi = ieee80211_node_getrssi;
}
void
@@ -406,6 +410,12 @@ ieee80211_node_copy(struct ieee80211com *ic,
*dst = *src;
}
+static u_int8_t
+ieee80211_node_getrssi(struct ieee80211com *ic, struct ieee80211_node *ni)
+{
+ return ni->ni_rssi;
+}
+
static void
ieee80211_setup_node(struct ieee80211com *ic,
struct ieee80211_node *ni, u_int8_t *macaddr)