Search Linux Wireless

Re: [PATCH 04/11] wil6210: fix PTK re-key race

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

 



Am 13.09.19 um 16:33 schrieb Denis Kenzior:
Hi Arend, Alexander,

Basically, we now have two bypass methods dealing with the same/similar issue:

1) bypass the QDISC.
2) bypass network stack entirely with CONTROL_PORT.

It also raises the question in my mind as to why we have two ways of doing the same thing?  From the discussion so far it also sounds like each requires somewhat different / special handling in the driver. Wouldn't it make sense to deprecate one and encourage drivers to implement the other?


My understanding is, that any control port frame must bypass any queues and just send out the frame directly, correct? Any packets send via it is directly jumping to the very front and is immediately send out.
And that the intend of it is to replace the "old" path.

So the best way forward here would be to

1) implement the patch here to work around the problem without control_port or the theoretical QDISC bypass
2) start implementing control port for the future.

correct?


CONTROL_PORT was added specifically to take care of the re-keying races and can be extended with additional attributes over time, as needed (perhaps for extended key id, etc).  Also note that in our testing CONTROL_PORT is _way_ faster than PAE socket...


Extended Key ID is pretty robust when rekeying and the driver/card only has to take care to not mix KeyIDs within one A-MPDU. It's no problem encrypting eapol#4 with the new key. You can even encrypt it at the initial connect and it will work. Basically all races the "classical" rekey has to work around go away.

For "normal" rekeys it's working pretty well with ath9k and iwlwifi even without control_port and just learned some weeks ago that QDISC could still cause issues...

Alexander






[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux