summaryrefslogtreecommitdiffstats
path: root/sys/net80211/ieee80211_node.c
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2003-09-15 22:28:07 +0000
committersam <sam@FreeBSD.org>2003-09-15 22:28:07 +0000
commitc9c933e78b7f78237d8012aa7fd7e0f113823c5a (patch)
tree0e47a901ca00cc77a28a919bce48d95fbd978a11 /sys/net80211/ieee80211_node.c
parent9ba7155cfe8dabb2beb540ffb24b3d14e17f357d (diff)
downloadFreeBSD-src-c9c933e78b7f78237d8012aa7fd7e0f113823c5a.zip
FreeBSD-src-c9c933e78b7f78237d8012aa7fd7e0f113823c5a.tar.gz
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.
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 5ea3466..fe0c9b1 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)
OpenPOWER on IntegriCloud