Search Linux Wireless

Re: mac80211 hardware encryption

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I've implemented the steps for hardware encryption
including the part where the IV/EIV is being moved around.

I now have a different problem, the hw_key_idx is u8,
so is very limited to what can be stored in it. I am trying
to find a solution for the following problem without increasing
the size of hw_key_idx since it is also used in the ieee80211_tx_control
structure which should remain as small as possible to fix in skb->cb.

The problem is as follows:
rt61pci, rt73usb, rt2800pci and rt2800usb support both shared keys
as well as pairwise keys. When the "address" argument of set_key()
is a valid MAC address, then the key is considered to be pairwise,
otherwise it is a shared key.

rt61pci and rt73usb supports:
shared keys: 16 (4 per allowed virtual interface)
pairwise keys: 64 (16 per allowed virtual interface)

rt2800pci and rt2800usb supports:
shared keys: 32 (4 per allowed virtual interface)
pairwise keys: 256 (32 per allowed virtual interface)

This means that the hw_key_idx with rt2800 hardware is already
full when all keys are being supported. I am thinking of adding a flag
to the key structure and ieee80211_tx_control structure to indicate
if the key is shared or pairwise. This will safe 1 bit that otherwise has
to be reserved from the hw_key_idx.
Do you agree with such a flag addition, or should the driver not care
about pairwise vs. shared.

But now the fun part begins, the hardware needs the ieee80211_key_alg value
for encryption (don't ask why, the algorithm is also stored in the register
so it should be easy for the hardware to look it up directly).
What should be the best way to obtain this algorithm, should a callback
function be added, or should the driver keep a list in memory for all
added keys (which would be memory duplication since mac80211 also
has it in memory).

Thanks,

Ivo
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux