From: Alexander Wetzel <alexander@wetzel-home.de>
To: johannes@sipsolutions.net
Cc: linux-wireless@vger.kernel.org,
Alexander Wetzel <alexander@wetzel-home.de>
Subject: [RFC PATCH v3 00/12] Draft for Extended Key ID support
Date: Sun, 10 Feb 2019 22:06:08 +0100 [thread overview]
Message-ID: <20190210210620.31181-1-alexander@wetzel-home.de> (raw)
This is my current development version for Extended Key ID support in
linux and mac80211.
I consider the all patches in this series against nl80211/mac80211 ready
for merge and if they still have defects not mentioned in the patch I
need your help to see them.
There are still some questions if we even want/need all those patches,
and so I've added some remarks to behind some commit message to start the
different discussions.
The driver patches are - with the exception of the hwsim patch -
definitely not ready for merge and mostly here to illustrate how the
different APIs can be used and to start some discussions how to handle HW
specific challenges. Of course if someone wants to play with Extended Key
ID they also should be useful... (I can provide updated mostly working
hostapd/wpa_supplicant patches if someone is interested. Don't try to
use the old ones I sent to hostapd mailing list in November.)
That said I'm now using most of the patches or their predecessor in my
private Wlan with devices both supporting and not supporting Extended
Key ID fine.
Compared to the last RFC patch only the nl80211 patch is still close to
what we discussed. It got the API cleanup/changes and the open sanity
checks and not much more.
The mac80211 patch from RFC v2 had serious defects. The most serious one
was probably to not select the key based on the keyid of the MPDU.
I think outlining all the changes will not be useful here, the initial
patch was too broken for anything but SW crypto. (Which also had
issues...)
It started out with more or less all the fixes we discussed but when
trying to get it really correct and feature complete it became three
different patches we better review from the scratch. They are now
touching much more code and make in some cases drastic changes.
Here a short overview of the patches in the series and why they are in
it:
1) mac80211: Optimize tailroom_needed update checks:
This would be a standalone patch, but some other patches depend on it
to apply cleanly.
2) nl80211/cfg80211: Extended Key ID support
Generic support for Extended Key ID.
3) mac80211: IEEE 802.11 Extended Key ID support
Mac80211 Extended Key ID support for drivers when the hardware is able to
handle Extended Key ID (aka two pairwise keys in HW).
4) mac80211: Compatibility Extended Key ID support
Mac80211 Extended Key ID support for most devices not able to handle
two unicast keys in HW.
5) mac80211: Mark A-MPDU keyid borders for drivers
This is one big question, see the patch for why we may want this or
not...
6) mac80211_hwsim: Ext Key ID support (NATIVE)
Just a one-liner to allow Extended Key ID to be used with hwsim.
--- No patch below this line is ready for merge ---
7) iwlwifi: Extended Key ID support (NATIVE)
Hopefully the seed to support Extended Key ID for all iwlwifi cards,
see the patch description for the (big) issue it has.
As it is it's mostly an example how Native Extended Key ID support
will look like working with only some cards.
8) iwlwifi: dvm - EXT_KEY_ID A-MPDU API update
Stops iwldvm drivers to complain when used together with the
experimental "mac80211: Mark A-MPDU keyid boarders for drivers"
patch.
The following patches in the series are only illustrating the COMPAT
Extended Key ID support:
9) ath: Basic Extended Key ID support
Experimental patch for generic Extended Key ID support for all ath
drivers.
10) ath5k: ath_key_config() API compatibility update
Allows to still compile ath5k drivers with the patch above.
Only provided to not break any drivers if someone wants to test
this.
11) ath9k: Extended Key ID support (COMPAT)
The example for Compatibility Key ID support, works together with
"ath: Basic Extended Key ID support".
12) ath9k: EXT_KEY_ID A-MPDU API update
A mostly untested example how drivers may benefit from "mac80211:
Mark A-MPDU keyid boarders for drivers".
Alexander Wetzel (12):
mac80211: Optimize tailroom_needed update checks
nl80211/cfg80211: Extended Key ID support
mac80211: IEEE 802.11 Extended Key ID support
mac80211: Compatibility Extended Key ID support
mac80211: Mark A-MPDU keyid boarders for drivers
mac80211_hwsim: Ext Key ID support (NATIVE)
iwlwifi: Extended Key ID support (NATIVE)
iwlwifi: dvm - EXT_KEY_ID A-MPDU API update
ath: Basic Extended Key ID support (COMPAT+NATIVE)
ath5k: ath_key_config() API compatibility update
ath9k: Extended Key ID support (COMPAT)
ath9k: EXT_KEY_ID A-MPDU API update
drivers/net/wireless/ath/ath.h | 7 +-
drivers/net/wireless/ath/ath5k/mac80211-ops.c | 2 +-
drivers/net/wireless/ath/ath9k/htc_drv_main.c | 2 +-
drivers/net/wireless/ath/ath9k/init.c | 1 +
drivers/net/wireless/ath/ath9k/main.c | 20 +-
drivers/net/wireless/ath/ath9k/xmit.c | 14 +-
drivers/net/wireless/ath/key.c | 35 ++-
.../net/wireless/intel/iwlwifi/dvm/mac80211.c | 5 +
drivers/net/wireless/intel/iwlwifi/dvm/tx.c | 2 +-
.../net/wireless/intel/iwlwifi/mvm/mac80211.c | 5 +
drivers/net/wireless/mac80211_hwsim.c | 1 +
include/net/cfg80211.h | 2 +
include/net/mac80211.h | 65 ++++-
include/uapi/linux/nl80211.h | 23 +-
net/mac80211/cfg.c | 38 +++
net/mac80211/debugfs.c | 2 +
net/mac80211/ieee80211_i.h | 2 +-
net/mac80211/key.c | 223 +++++++++++++++---
net/mac80211/key.h | 9 +
net/mac80211/main.c | 6 +
net/mac80211/rx.c | 81 ++++---
net/mac80211/sta_info.c | 13 +
net/mac80211/sta_info.h | 6 +-
net/mac80211/tx.c | 77 ++++--
net/wireless/nl80211.c | 32 ++-
net/wireless/rdev-ops.h | 3 +-
net/wireless/trace.h | 31 ++-
net/wireless/util.c | 20 +-
28 files changed, 601 insertions(+), 126 deletions(-)
--
2.20.1
next reply other threads:[~2019-02-11 0:42 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-10 21:06 Alexander Wetzel [this message]
2019-02-10 21:06 ` [RFC PATCH v3 01/12] mac80211: Optimize tailroom_needed update checks Alexander Wetzel
2019-02-10 21:06 ` [RFC PATCH v3 02/12] nl80211/cfg80211: Extended Key ID support Alexander Wetzel
2019-02-15 10:52 ` Johannes Berg
2019-02-17 19:19 ` Alexander Wetzel
2019-02-22 8:30 ` Johannes Berg
2019-02-22 23:04 ` Alexander Wetzel
2019-02-10 21:06 ` [RFC PATCH v3 03/12] mac80211: IEEE 802.11 " Alexander Wetzel
2019-02-15 11:06 ` Johannes Berg
2019-02-19 20:58 ` Alexander Wetzel
2019-02-21 19:47 ` Alexander Wetzel
2019-02-22 8:41 ` Johannes Berg
2019-02-23 21:02 ` Alexander Wetzel
2019-03-01 20:43 ` Alexander Wetzel
2019-02-23 17:26 ` Alexander Wetzel
2019-02-10 21:06 ` [RFC PATCH v3 04/12] mac80211: Compatibility " Alexander Wetzel
2019-02-15 11:09 ` Johannes Berg
2019-02-21 20:07 ` Alexander Wetzel
2019-02-22 8:53 ` Johannes Berg
2019-02-23 22:50 ` Alexander Wetzel
2019-02-10 21:06 ` [RFC PATCH v3 05/12] mac80211: Mark A-MPDU keyid borders for drivers Alexander Wetzel
2019-02-15 11:50 ` Johannes Berg
2019-02-21 21:20 ` Alexander Wetzel
2019-02-22 8:51 ` Johannes Berg
2019-02-23 21:47 ` Alexander Wetzel
2019-02-10 21:06 ` [RFC PATCH v3 06/12] mac80211_hwsim: Ext Key ID support (NATIVE) Alexander Wetzel
2019-02-10 21:06 ` [RFC PATCH v3 07/12] iwlwifi: Extended " Alexander Wetzel
2019-02-15 11:52 ` Johannes Berg
2019-02-22 20:50 ` Alexander Wetzel
2019-02-22 21:06 ` Johannes Berg
2019-02-24 13:04 ` Alexander Wetzel
2019-04-08 20:10 ` Johannes Berg
2019-04-10 20:46 ` Alexander Wetzel
2019-04-12 9:51 ` Johannes Berg
2019-04-14 16:12 ` Alexander Wetzel
2019-04-15 8:44 ` Johannes Berg
2019-04-15 20:09 ` Alexander Wetzel
2019-04-16 9:31 ` Johannes Berg
2019-04-16 18:28 ` Alexander Wetzel
2019-04-16 19:11 ` Johannes Berg
2019-04-16 21:32 ` Alexander Wetzel
2019-04-12 11:19 ` Johannes Berg
2019-02-10 21:06 ` [RFC PATCH v3 08/12] iwlwifi: dvm - EXT_KEY_ID A-MPDU API update Alexander Wetzel
2019-02-15 11:54 ` Johannes Berg
2019-02-22 21:15 ` Alexander Wetzel
2019-02-22 21:20 ` Johannes Berg
2019-02-10 21:06 ` [RFC PATCH v3 09/12] ath: Basic Extended Key ID support (COMPAT+NATIVE) Alexander Wetzel
2019-02-13 11:05 ` Kalle Valo
2019-02-13 23:15 ` Alexander Wetzel
2019-02-10 21:06 ` [RFC PATCH v3 10/12] ath5k: ath_key_config() API compatibility update Alexander Wetzel
2019-02-10 21:06 ` [RFC PATCH v3 11/12] ath9k: Extended Key ID support (COMPAT) Alexander Wetzel
2019-02-10 21:06 ` [RFC PATCH v3 12/12] ath9k: EXT_KEY_ID A-MPDU API update Alexander Wetzel
2019-02-15 11:10 ` [RFC PATCH v3 00/12] Draft for Extended Key ID support Johannes Berg
2019-02-21 20:44 ` Alexander Wetzel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190210210620.31181-1-alexander@wetzel-home.de \
--to=alexander@wetzel-home.de \
--cc=johannes@sipsolutions.net \
--cc=linux-wireless@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.