diff options
author | Sam Leffler <sam@FreeBSD.org> | 2003-09-15 22:28:07 +0000 |
---|---|---|
committer | Sam Leffler <sam@FreeBSD.org> | 2003-09-15 22:28:07 +0000 |
commit | d1e61976a0cf0cab82ca1a88c3d7cd9dd43d78a6 (patch) | |
tree | 0e47a901ca00cc77a28a919bce48d95fbd978a11 /sys/net80211/ieee80211_node.c | |
parent | c87cfaedf2d0c4fcf27f10fb12b454f09f1edd49 (diff) | |
download | src-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.c | 10 |
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) |