All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC] mac80211: add support for split-MAC implementations
@ 2013-08-08 13:21 Johan Almbladh
  2013-08-09 13:07 ` Johannes Berg
  0 siblings, 1 reply; 11+ messages in thread
From: Johan Almbladh @ 2013-08-08 13:21 UTC (permalink / raw)
  To: linux-wireless; +Cc: johannes, Johan Almbladh

This patch enables power save processing for encrypted frames even if the
encryption key is not set. This is a requirement when implementing split-MAC
systems like Anyfi.net [1] and CAPWAP [2] on mac80211 using monitor frame
injection and reception. The mac80211 RX handlers are reordered slightly so
that the power save handler is invoked before the decryption handler.

The patch is minimal in the sense that it provides the required functionality
with a minimal change, but I am open to suggestions if this change is too
intrusive. Please let me know what you think.

[1] http://anyfi.net/documentation#architecture
[2] http://tools.ietf.org/html/rfc5416

Signed-off-by: Johan Almbladh <ja@anyfi.net>
---
 net/mac80211/rx.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
index 6b85f95..0f0017d 100644
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -2939,10 +2939,10 @@ static void ieee80211_rx_handlers(struct ieee80211_rx_data *rx,
 		 */
 		rx->skb = skb;
 
-		CALL_RXH(ieee80211_rx_h_decrypt)
 		CALL_RXH(ieee80211_rx_h_check_more_data)
 		CALL_RXH(ieee80211_rx_h_uapsd_and_pspoll)
 		CALL_RXH(ieee80211_rx_h_sta_process)
+		CALL_RXH(ieee80211_rx_h_decrypt)
 		CALL_RXH(ieee80211_rx_h_defragment)
 		CALL_RXH(ieee80211_rx_h_michael_mic_verify)
 		/* must be after MMIC verify so header is counted in MPDU mic */
-- 
1.7.9.5


^ permalink raw reply related	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2013-08-16 10:19 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-08-08 13:21 [RFC] mac80211: add support for split-MAC implementations Johan Almbladh
2013-08-09 13:07 ` Johannes Berg
2013-08-10 11:31   ` Johan Almbladh
2013-08-11 20:19     ` Johan Almbladh
2013-08-12 16:01       ` Johannes Berg
2013-08-12 18:04         ` Antonio Quartulli
2013-08-14 13:29         ` [PATCHv2 1/2] mac80211: perform power save processing before decryption Johan Almbladh
2013-08-14 13:29           ` [PATCHv2 2/2] mac80211: non-functional change of rx handler location Johan Almbladh
2013-08-16 10:19             ` Johannes Berg
2013-08-15  6:08           ` [PATCHv2 1/2] mac80211: perform power save processing before decryption Kalle Valo
2013-08-15  6:58             ` Johan Almbladh

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.