Implement non-realtime powersaving features of 802.11s draft:
powersaving level indication;
traffic buffering for sleeping peers;
TIM/DTIM in beacons;
peer service period;
Provide powersaving level control on MSTA/peer link basis;
Provide peer link control;
Approach
Enhance current in-kernel 802.11s implementation:
powersaving scheme proposed by 802.11s draft closely resemble AP-based scheme (traffic buffering/TIM/DTIM), so this code may be reused;
powersaving level indication (both peer and non-peer)/mesh awake window attributes need to be added;
wakeup for peer beacon reception may be implemented later, now it's enough to stay awake continuously and just calculate whether station would actually hear the frames that it receives;
peer service period logic need to be added, it's a simple state machine;
Testing may be carried out with mac80211_hwsim driver.
What's to be done
MSTA power mode tracking (11C.13.3);
each peering power mode tracking (11C.13.4);
TIM/DTIM in beacons (11C.13.5-6) – ieee80211_beacon_get_tim;
mesh awake window (11C.13.7);
wake-up scheduling for peer beacons (optional);
ps-poll requests and responses (?);
service period tracking (11C.13.10);
frame buffering for doze peers – ieee80211_tx_h_multicast_ps_buf, ieee80211_tx_h_unicast_ps_buf;
user interface controls – like nl80211_set_power_save;
etc/users/jcmvbkbc/mesh-power.txt · Last modified: 2016/08/08 20:53 by kel