From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mail-ie0-f177.google.com ([209.85.223.177]:36161 "EHLO mail-ie0-f177.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S964913AbbELXCD (ORCPT ); Tue, 12 May 2015 19:02:03 -0400 Received: by iepk2 with SMTP id k2so14916535iep.3 for ; Tue, 12 May 2015 16:02:02 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: References: <873837qo6l.fsf@kamboji.qca.qualcomm.com> <554CE438.5000208@candelatech.com> <871tinjosq.fsf@kamboji.qca.qualcomm.com> <5550D629.2090501@candelatech.com> From: "Liu CF/TW" Date: Tue, 12 May 2015 16:01:21 -0700 Message-ID: (sfid-20150513_010208_249888_C5A60592) Subject: Re: [PATCH] ath10k/mac80211: add rawtxrx, nohwcrypt module param for raw tx injection, sw crypto support. To: Ben Greear Cc: Kalle Valo , "ath10k@lists.infradead.org" , linux-wireless@vger.kernel.org Content-Type: text/plain; charset=UTF-8 Sender: linux-wireless-owner@vger.kernel.org List-ID: On Tue, May 12, 2015 at 3:44 PM, Liu CF/TW wrote: > I am going to propose just one single module parameter control: enc_mode > > - enc_mode = 0: Use HW crypto (default), > > Driver behavior: > - ath10k driver uses native WiFi mode for both Tx/Rx. > - ath10k driver configures key to HW. > Given HW key descriptor is configured, mac80211 would offload Tx > encryption to HW and only do Rx decryption (by mac80211) if HW failed > to do it. > Recap. Should be: "Given HW key descriptor is configured, Tx encryption and Rx decryption would be both done by HW." Note: Due to HW limitation, SW crypto can't be done in native WiFi mode. Transmit already encrypted frames requires raw mode. Bypass encrypted frame for SW for decryption in native Wifi mode is possible, but requires reinserting QoS header on per frame basis which is tedious. > Use case: > - The only mode current driver supports to date. > - The CT firmware special use case should fall into this > category where firmware overrides the ath10k driver setting to force > Rx fallback to SW decryption (in mac80211). > (From Ben's description, I believe CT FW overrides the global > Rx decap mode=raw mode + mangle the HW Rx descriptor to skip HW > decryption) > > - enc_mode = 1: Use SW crypto. > > Driver behavior: > - ath10k driver uses raw encap mode for both Tx/Rx > - ath10k driver doesn't configure actual key to HW but program > CLEAR key context to bypass HW. > This is the classic nohwcrypt=1 mode. Only SW crypto is enabled globally. > Use case: > - NEW: Full SW crypto on both Tx/Rx. > - NEW: raw injected Tx frame. If encryption required, would use > mac80211 SW crypto. > > - enc_mode = 2: Supports both HW and SW crypto simultaneously. > > Driver behavior: > - ath10k driver uses raw encap mode for both Tx/Rx > - ath10k driver configures key to HW only if the per BSS config > enables it (either via debugfs or nl80211 attribute, TBD) > If HW key is configured, use HW crypto. Otherwise, use SW crypto. > > Use case: > - NEW: raw injected Tx frame. If encryption is required, could > support both SW or HW crypto (by the per BSS config) > - NEW: some BSS could use HW crypto with no performance hit while > some BSS could bypass HW crypto (ex: CAPWAP like split-MAC encrypted > frames) > > Ben, in this case, as long as enc_mode == 0, your FW should continue > to work. I will add a new FW feature TX_RAW_ENCAP_SUPPORTED, and fail > at module load time if enc_mode !=0 and FW doesn't support it. Would > this address your concerns? > > David. > > From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mail-ie0-x229.google.com ([2607:f8b0:4001:c03::229]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1YsJBv-0000nu-Oe for ath10k@lists.infradead.org; Tue, 12 May 2015 23:02:24 +0000 Received: by iebpz10 with SMTP id pz10so16314229ieb.2 for ; Tue, 12 May 2015 16:02:02 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: References: <873837qo6l.fsf@kamboji.qca.qualcomm.com> <554CE438.5000208@candelatech.com> <871tinjosq.fsf@kamboji.qca.qualcomm.com> <5550D629.2090501@candelatech.com> From: "Liu CF/TW" Date: Tue, 12 May 2015 16:01:21 -0700 Message-ID: Subject: Re: [PATCH] ath10k/mac80211: add rawtxrx, nohwcrypt module param for raw tx injection, sw crypto support. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "ath10k" Errors-To: ath10k-bounces+kvalo=adurom.com@lists.infradead.org To: Ben Greear Cc: Kalle Valo , linux-wireless@vger.kernel.org, "ath10k@lists.infradead.org" On Tue, May 12, 2015 at 3:44 PM, Liu CF/TW wrote: > I am going to propose just one single module parameter control: enc_mode > > - enc_mode = 0: Use HW crypto (default), > > Driver behavior: > - ath10k driver uses native WiFi mode for both Tx/Rx. > - ath10k driver configures key to HW. > Given HW key descriptor is configured, mac80211 would offload Tx > encryption to HW and only do Rx decryption (by mac80211) if HW failed > to do it. > Recap. Should be: "Given HW key descriptor is configured, Tx encryption and Rx decryption would be both done by HW." Note: Due to HW limitation, SW crypto can't be done in native WiFi mode. Transmit already encrypted frames requires raw mode. Bypass encrypted frame for SW for decryption in native Wifi mode is possible, but requires reinserting QoS header on per frame basis which is tedious. > Use case: > - The only mode current driver supports to date. > - The CT firmware special use case should fall into this > category where firmware overrides the ath10k driver setting to force > Rx fallback to SW decryption (in mac80211). > (From Ben's description, I believe CT FW overrides the global > Rx decap mode=raw mode + mangle the HW Rx descriptor to skip HW > decryption) > > - enc_mode = 1: Use SW crypto. > > Driver behavior: > - ath10k driver uses raw encap mode for both Tx/Rx > - ath10k driver doesn't configure actual key to HW but program > CLEAR key context to bypass HW. > This is the classic nohwcrypt=1 mode. Only SW crypto is enabled globally. > Use case: > - NEW: Full SW crypto on both Tx/Rx. > - NEW: raw injected Tx frame. If encryption required, would use > mac80211 SW crypto. > > - enc_mode = 2: Supports both HW and SW crypto simultaneously. > > Driver behavior: > - ath10k driver uses raw encap mode for both Tx/Rx > - ath10k driver configures key to HW only if the per BSS config > enables it (either via debugfs or nl80211 attribute, TBD) > If HW key is configured, use HW crypto. Otherwise, use SW crypto. > > Use case: > - NEW: raw injected Tx frame. If encryption is required, could > support both SW or HW crypto (by the per BSS config) > - NEW: some BSS could use HW crypto with no performance hit while > some BSS could bypass HW crypto (ex: CAPWAP like split-MAC encrypted > frames) > > Ben, in this case, as long as enc_mode == 0, your FW should continue > to work. I will add a new FW feature TX_RAW_ENCAP_SUPPORTED, and fail > at module load time if enc_mode !=0 and FW doesn't support it. Would > this address your concerns? > > David. > > _______________________________________________ ath10k mailing list ath10k@lists.infradead.org http://lists.infradead.org/mailman/listinfo/ath10k