opnsense-src/sys/dev/usb/wlan
Andriy Voskoboinyk 31847d9434 rsu: add hardware crypto support (WEP, TKIP and CCMP).
This change includes firmware commands for key setup +
some additional checking via CAMREAD / CAMWRITE registers.
Nothing (except rsu_delete_key() for pairwise keys) is deferred;
to ensure that things are done in order rsu_set_key() will wait
until key deletion task will be finished.

Tested with Asus USB-N10 (all ciphers).

Differences from initial (reviewed) patch:
- Pause AC queues before disassociation - since CMD_DISCONNECT clears
crypto state all pending frames must be processed / dropped before it.
- Check sc_running flag before trying to set static keys.
- Clear key index from bitmap even when firmware command fails
(it will be invalidated via CAMWRITE anyway).

Reviewed by:	adrian, kevlo
Tested by:	kevlo
Differential Revision:	https://reviews.freebsd.org/D8706
2016-12-06 00:13:49 +00:00
..
if_rsu.c rsu: add hardware crypto support (WEP, TKIP and CCMP). 2016-12-06 00:13:49 +00:00
if_rsureg.h rsu: add hardware crypto support (WEP, TKIP and CCMP). 2016-12-06 00:13:49 +00:00
if_rum.c net80211: ieee80211_ratectl*: switch to reusable KPI 2016-10-02 20:35:55 +00:00
if_rumfw.h
if_rumreg.h rum: add legacy power saving support (STA mode). 2016-03-21 22:29:24 +00:00
if_rumvar.h net80211: ieee80211_ratectl*: switch to reusable KPI 2016-10-02 20:35:55 +00:00
if_run.c net80211: ieee80211_ratectl*: switch to reusable KPI 2016-10-02 20:35:55 +00:00
if_runreg.h run: switch to ieee80211_add_channel_list_*() 2016-05-26 15:05:37 +00:00
if_runvar.h net80211: ieee80211_ratectl*: switch to reusable KPI 2016-10-02 20:35:55 +00:00
if_uath.c net80211 + drivers: hide size of 'bands' array behind a macro. 2016-04-29 22:14:11 +00:00
if_uathreg.h
if_uathvar.h net80211 drivers: eliminate any references to sc_rxtap_len/sc_txtap_len (never used here) 2015-10-12 05:21:51 +00:00
if_upgt.c net80211 + drivers: hide size of 'bands' array behind a macro. 2016-04-29 22:14:11 +00:00
if_upgtvar.h net80211 drivers: eliminate any references to sc_rxtap_len/sc_txtap_len (never used here) 2015-10-12 05:21:51 +00:00
if_ural.c net80211: ieee80211_ratectl*: switch to reusable KPI 2016-10-02 20:35:55 +00:00
if_uralreg.h Fix undefined behavior: (1 << 31) is not defined as 1 is an int and this 2013-11-30 22:17:27 +00:00
if_uralvar.h net80211: ieee80211_ratectl*: switch to reusable KPI 2016-10-02 20:35:55 +00:00
if_urtw.c urtw: fix unused variable assignments. 2016-06-02 12:01:58 +00:00
if_urtwreg.h urtw: switch to ieee80211_add_channel_list_2ghz(). 2016-05-26 16:15:10 +00:00
if_urtwvar.h net80211 drivers: eliminate any references to sc_rxtap_len/sc_txtap_len (never used here) 2015-10-12 05:21:51 +00:00
if_zyd.c net80211: ieee80211_ratectl*: switch to reusable KPI 2016-10-02 20:35:55 +00:00
if_zydfw.h
if_zydreg.h net80211: ieee80211_ratectl*: switch to reusable KPI 2016-10-02 20:35:55 +00:00