Linux wireless drivers development
 help / color / mirror / Atom feed
* Block ACK in firmware and software decrypt
@ 2019-03-08 12:53 Ben Greear
  0 siblings, 0 replies; only message in thread
From: Ben Greear @ 2019-03-08 12:53 UTC (permalink / raw)
  To: linux-wireless@vger.kernel.org

I have run into a slightly tricky problem related to software decrypt
and block-ack handling in ath10k.

For testing purposes, I need to be able to run ath10k firmware in
software-decrypt mode, but the ath10k firmware also handles block
ack frames.  This becomes a problem when using PMF because then the
firmware cannot decrypt the block-ack setup frames and so blockack
fails.

But, the mac80211 stack can indeed decrypt management frames, so I
was thinking maybe I could have a logic flow that looked like this:

ath10k registers with mac80211 on startup and asks to be notified
   of certain management frames once they are decrypted (block-ack req, response)
ath10k sends encrypted frames up the stack to mac80211
mac80211 decrypts frames
mac80211 remembers ath10k wants to see decrypted mgt frames, and so sends
   decoded block-ack req and response frames back to ath10k driver.
ath10k driver use WMI messaging interface to send contents and meta data
   for the decoded block-ack frames to the firmware.
Firmware processes this as if it received it directly off the wire, letting
   block-ack setup work.

So, this is a special case that would only work in my ath10k driver and
firmware, but does anyone else see another reason to allow something like
this into the upstream kernel?

Thanks,
Ben

-- 
Ben Greear <greearb@candelatech.com>
Candela Technologies Inc  http://www.candelatech.com

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2019-03-08 13:03 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-03-08 12:53 Block ACK in firmware and software decrypt Ben Greear

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox