提交 011bfcc4 编写于 作者: J Johannes Berg 提交者: David S. Miller

[MAC80211]: remove key threshold stuff

This patch removes the key threshold stuff from mac80211.
I have patches for later that add it as a per-key setting
to nl/cfg80211.
Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
Signed-off-by: NMichael Wu <flamingice@sourmilk.net>
Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 72abd81b
...@@ -90,8 +90,6 @@ DEBUGFS_READONLY_FILE(antenna_sel_rx, 20, "%d", ...@@ -90,8 +90,6 @@ DEBUGFS_READONLY_FILE(antenna_sel_rx, 20, "%d",
local->hw.conf.antenna_sel_rx); local->hw.conf.antenna_sel_rx);
DEBUGFS_READONLY_FILE(bridge_packets, 20, "%d", DEBUGFS_READONLY_FILE(bridge_packets, 20, "%d",
local->bridge_packets); local->bridge_packets);
DEBUGFS_READONLY_FILE(key_tx_rx_threshold, 20, "%d",
local->key_tx_rx_threshold);
DEBUGFS_READONLY_FILE(rts_threshold, 20, "%d", DEBUGFS_READONLY_FILE(rts_threshold, 20, "%d",
local->rts_threshold); local->rts_threshold);
DEBUGFS_READONLY_FILE(fragmentation_threshold, 20, "%d", DEBUGFS_READONLY_FILE(fragmentation_threshold, 20, "%d",
...@@ -301,7 +299,6 @@ void debugfs_hw_add(struct ieee80211_local *local) ...@@ -301,7 +299,6 @@ void debugfs_hw_add(struct ieee80211_local *local)
DEBUGFS_ADD(antenna_sel_tx); DEBUGFS_ADD(antenna_sel_tx);
DEBUGFS_ADD(antenna_sel_rx); DEBUGFS_ADD(antenna_sel_rx);
DEBUGFS_ADD(bridge_packets); DEBUGFS_ADD(bridge_packets);
DEBUGFS_ADD(key_tx_rx_threshold);
DEBUGFS_ADD(rts_threshold); DEBUGFS_ADD(rts_threshold);
DEBUGFS_ADD(fragmentation_threshold); DEBUGFS_ADD(fragmentation_threshold);
DEBUGFS_ADD(short_retry_limit); DEBUGFS_ADD(short_retry_limit);
...@@ -364,7 +361,6 @@ void debugfs_hw_del(struct ieee80211_local *local) ...@@ -364,7 +361,6 @@ void debugfs_hw_del(struct ieee80211_local *local)
DEBUGFS_DEL(antenna_sel_tx); DEBUGFS_DEL(antenna_sel_tx);
DEBUGFS_DEL(antenna_sel_rx); DEBUGFS_DEL(antenna_sel_rx);
DEBUGFS_DEL(bridge_packets); DEBUGFS_DEL(bridge_packets);
DEBUGFS_DEL(key_tx_rx_threshold);
DEBUGFS_DEL(rts_threshold); DEBUGFS_DEL(rts_threshold);
DEBUGFS_DEL(fragmentation_threshold); DEBUGFS_DEL(fragmentation_threshold);
DEBUGFS_DEL(short_retry_limit); DEBUGFS_DEL(short_retry_limit);
......
...@@ -32,7 +32,6 @@ enum { ...@@ -32,7 +32,6 @@ enum {
PRISM2_PARAM_PREAMBLE = 1003, PRISM2_PARAM_PREAMBLE = 1003,
PRISM2_PARAM_SHORT_SLOT_TIME = 1006, PRISM2_PARAM_SHORT_SLOT_TIME = 1006,
PRISM2_PARAM_NEXT_MODE = 1008, PRISM2_PARAM_NEXT_MODE = 1008,
PRISM2_PARAM_KEY_TX_RX_THRESHOLD = 1024,
PRISM2_PARAM_WIFI_WME_NOACK_TEST = 1033, PRISM2_PARAM_WIFI_WME_NOACK_TEST = 1033,
PRISM2_PARAM_SCAN_FLAGS = 1035, PRISM2_PARAM_SCAN_FLAGS = 1035,
PRISM2_PARAM_HW_MODES = 1036, PRISM2_PARAM_HW_MODES = 1036,
......
...@@ -189,41 +189,6 @@ ieee80211_rx_mgmt(struct ieee80211_local *local, struct sk_buff *skb, ...@@ -189,41 +189,6 @@ ieee80211_rx_mgmt(struct ieee80211_local *local, struct sk_buff *skb,
netif_rx(skb); netif_rx(skb);
} }
void ieee80211_key_threshold_notify(struct net_device *dev,
struct ieee80211_key *key,
struct sta_info *sta)
{
struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr);
struct sk_buff *skb;
struct ieee80211_msg_key_notification *msg;
/* if no one will get it anyway, don't even allocate it.
* unlikely because this is only relevant for APs
* where the device must be open... */
if (unlikely(!local->apdev))
return;
skb = dev_alloc_skb(sizeof(struct ieee80211_frame_info) +
sizeof(struct ieee80211_msg_key_notification));
if (!skb)
return;
skb_reserve(skb, sizeof(struct ieee80211_frame_info));
msg = (struct ieee80211_msg_key_notification *)
skb_put(skb, sizeof(struct ieee80211_msg_key_notification));
msg->tx_rx_count = key->tx_rx_count;
memcpy(msg->ifname, dev->name, IFNAMSIZ);
if (sta)
memcpy(msg->addr, sta->addr, ETH_ALEN);
else
memset(msg->addr, 0xff, ETH_ALEN);
key->tx_rx_count = 0;
ieee80211_rx_mgmt(local, skb, NULL,
ieee80211_msg_key_threshold_notification);
}
static int ieee80211_mgmt_open(struct net_device *dev) static int ieee80211_mgmt_open(struct net_device *dev)
{ {
struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr); struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr);
......
...@@ -53,7 +53,7 @@ enum ieee80211_msg_type { ...@@ -53,7 +53,7 @@ enum ieee80211_msg_type {
/* hole at 6, was monitor but never sent to userspace */ /* hole at 6, was monitor but never sent to userspace */
ieee80211_msg_sta_not_assoc = 7, ieee80211_msg_sta_not_assoc = 7,
/* 8 was ieee80211_msg_set_aid_for_sta */ /* 8 was ieee80211_msg_set_aid_for_sta */
ieee80211_msg_key_threshold_notification = 9, /* 9 was ieee80211_msg_key_threshold_notification */
/* 11 was ieee80211_msg_radar */ /* 11 was ieee80211_msg_radar */
}; };
......
...@@ -465,9 +465,6 @@ struct ieee80211_local { ...@@ -465,9 +465,6 @@ struct ieee80211_local {
struct crypto_blkcipher *wep_tx_tfm; struct crypto_blkcipher *wep_tx_tfm;
struct crypto_blkcipher *wep_rx_tfm; struct crypto_blkcipher *wep_rx_tfm;
u32 wep_iv; u32 wep_iv;
int key_tx_rx_threshold; /* number of times any key can be used in TX
* or RX before generating a rekey
* notification; 0 = notification disabled. */
int bridge_packets; /* bridge packets between associated stations and int bridge_packets; /* bridge packets between associated stations and
* deliver multicast frames both back to wireless * deliver multicast frames both back to wireless
...@@ -573,7 +570,6 @@ struct ieee80211_local { ...@@ -573,7 +570,6 @@ struct ieee80211_local {
struct dentry *antenna_sel_tx; struct dentry *antenna_sel_tx;
struct dentry *antenna_sel_rx; struct dentry *antenna_sel_rx;
struct dentry *bridge_packets; struct dentry *bridge_packets;
struct dentry *key_tx_rx_threshold;
struct dentry *rts_threshold; struct dentry *rts_threshold;
struct dentry *fragmentation_threshold; struct dentry *fragmentation_threshold;
struct dentry *short_retry_limit; struct dentry *short_retry_limit;
...@@ -724,9 +720,6 @@ void ieee80211_if_setup(struct net_device *dev); ...@@ -724,9 +720,6 @@ void ieee80211_if_setup(struct net_device *dev);
void ieee80211_if_mgmt_setup(struct net_device *dev); void ieee80211_if_mgmt_setup(struct net_device *dev);
struct ieee80211_rate *ieee80211_get_rate(struct ieee80211_local *local, struct ieee80211_rate *ieee80211_get_rate(struct ieee80211_local *local,
int phymode, int hwrate); int phymode, int hwrate);
void ieee80211_key_threshold_notify(struct net_device *dev,
struct ieee80211_key *key,
struct sta_info *sta);
/* ieee80211_ioctl.c */ /* ieee80211_ioctl.c */
extern const struct iw_handler_def ieee80211_iw_handler_def; extern const struct iw_handler_def ieee80211_iw_handler_def;
......
...@@ -912,10 +912,6 @@ static int ieee80211_ioctl_prism2_param(struct net_device *dev, ...@@ -912,10 +912,6 @@ static int ieee80211_ioctl_prism2_param(struct net_device *dev,
local->next_mode = hostapd_mode_to_mode(value); local->next_mode = hostapd_mode_to_mode(value);
break; break;
case PRISM2_PARAM_KEY_TX_RX_THRESHOLD:
local->key_tx_rx_threshold = value;
break;
case PRISM2_PARAM_WIFI_WME_NOACK_TEST: case PRISM2_PARAM_WIFI_WME_NOACK_TEST:
local->wifi_wme_noack_test = value; local->wifi_wme_noack_test = value;
break; break;
...@@ -1011,10 +1007,6 @@ static int ieee80211_ioctl_get_prism2_param(struct net_device *dev, ...@@ -1011,10 +1007,6 @@ static int ieee80211_ioctl_get_prism2_param(struct net_device *dev,
*param = local->next_mode; *param = local->next_mode;
break; break;
case PRISM2_PARAM_KEY_TX_RX_THRESHOLD:
*param = local->key_tx_rx_threshold;
break;
case PRISM2_PARAM_WIFI_WME_NOACK_TEST: case PRISM2_PARAM_WIFI_WME_NOACK_TEST:
*param = local->wifi_wme_noack_test; *param = local->wifi_wme_noack_test;
break; break;
......
...@@ -409,12 +409,7 @@ ieee80211_rx_h_load_key(struct ieee80211_txrx_data *rx) ...@@ -409,12 +409,7 @@ ieee80211_rx_h_load_key(struct ieee80211_txrx_data *rx)
if (rx->key) { if (rx->key) {
rx->key->tx_rx_count++; rx->key->tx_rx_count++;
if (unlikely(rx->local->key_tx_rx_threshold && /* TODO: add threshold stuff again */
rx->key->tx_rx_count >
rx->local->key_tx_rx_threshold)) {
ieee80211_key_threshold_notify(rx->dev, rx->key,
rx->sta);
}
} }
return TXRX_CONTINUE; return TXRX_CONTINUE;
......
...@@ -451,12 +451,7 @@ ieee80211_tx_h_select_key(struct ieee80211_txrx_data *tx) ...@@ -451,12 +451,7 @@ ieee80211_tx_h_select_key(struct ieee80211_txrx_data *tx)
if (tx->key) { if (tx->key) {
tx->key->tx_rx_count++; tx->key->tx_rx_count++;
if (unlikely(tx->local->key_tx_rx_threshold && /* TODO: add threshold stuff again */
tx->key->tx_rx_count >
tx->local->key_tx_rx_threshold)) {
ieee80211_key_threshold_notify(tx->dev, tx->key,
tx->sta);
}
} }
return TXRX_CONTINUE; return TXRX_CONTINUE;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册