diff options
author | Jouni Malinen <j@w1.fi> | 2008-10-30 13:59:05 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-11-10 15:17:41 -0500 |
commit | fc6971d491517ba15e800540ff88caa55dc65b01 (patch) | |
tree | fb435b91e098f8d9a10b8fb217e3d5416d0d5288 /include | |
parent | fbf189273926d83d71c4c321f1215162569506ac (diff) |
mac80211_hwsim: Add support for client PS mode
This introduces a debugfs file (ieee80211/phy#/hwsim/ps) that can be
used to force a simulated radio into power save mode. Following values
can be written into this file to change PS mode:
0 = power save disabled (constantly awake)
1 = power save enabled (drop all frames; do not send PS-Poll)
2 = power save enabled (send PS-Poll frames automatically to receive
buffered unicast frames); not yet fully implemented
3 = manual PS-Poll trigger (send a single PS-Poll frame)
Two different behavior for power save mode processing can be tested:
- move between modes 1 and 0 (i.e., receive all buffered frames at a
time)
- move to mode 1 and use manual PS-Poll frames (write 3 to the 'ps'
debugfs file) to fetch power save buffered frames one at a time
Mode 2 (automatic PS-Poll) does not yet parse Beacon frames, but
eventually, it should take a look at TIM IE and send PS-Poll if a
traffic bit is set for our AID.
Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/ieee80211.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/linux/ieee80211.h b/include/linux/ieee80211.h index 9dc288b920c8..56b0eb25d927 100644 --- a/include/linux/ieee80211.h +++ b/include/linux/ieee80211.h | |||
@@ -669,6 +669,13 @@ struct ieee80211_cts { | |||
669 | u8 ra[6]; | 669 | u8 ra[6]; |
670 | } __attribute__ ((packed)); | 670 | } __attribute__ ((packed)); |
671 | 671 | ||
672 | struct ieee80211_pspoll { | ||
673 | __le16 frame_control; | ||
674 | __le16 aid; | ||
675 | u8 bssid[6]; | ||
676 | u8 ta[6]; | ||
677 | } __attribute__ ((packed)); | ||
678 | |||
672 | /** | 679 | /** |
673 | * struct ieee80211_bar - HT Block Ack Request | 680 | * struct ieee80211_bar - HT Block Ack Request |
674 | * | 681 | * |