All of lore.kernel.org
 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

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 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.