diff options
Diffstat (limited to 'include/net/mac80211.h')
-rw-r--r-- | include/net/mac80211.h | 37 |
1 files changed, 29 insertions, 8 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index 000b8e3133ba..6a2a0c3e7255 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -1,7 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * Low-level hardware driver -- IEEE 802.11 driver (80211.o) interface | 2 | * mac80211 <-> driver interface |
3 | * | ||
3 | * Copyright 2002-2005, Devicescape Software, Inc. | 4 | * Copyright 2002-2005, Devicescape Software, Inc. |
4 | * Copyright 2006-2007 Jiri Benc <jbenc@suse.cz> | 5 | * Copyright 2006-2007 Jiri Benc <jbenc@suse.cz> |
6 | * Copyright 2007 Johannes Berg <johannes@sipsolutions.net> | ||
5 | * | 7 | * |
6 | * This program is free software; you can redistribute it and/or modify | 8 | * This program is free software; you can redistribute it and/or modify |
7 | * it under the terms of the GNU General Public License version 2 as | 9 | * it under the terms of the GNU General Public License version 2 as |
@@ -472,10 +474,16 @@ struct ieee80211_hw { | |||
472 | */ | 474 | */ |
473 | #define IEEE80211_HW_HOST_GEN_BEACON_TEMPLATE (1<<1) | 475 | #define IEEE80211_HW_HOST_GEN_BEACON_TEMPLATE (1<<1) |
474 | 476 | ||
475 | /* Some devices handle decryption internally and do not | 477 | /* |
478 | * Some devices handle decryption internally and do not | ||
476 | * indicate whether the frame was encrypted (unencrypted frames | 479 | * indicate whether the frame was encrypted (unencrypted frames |
477 | * will be dropped by the hardware, unless specifically allowed | 480 | * will be dropped by the hardware, unless specifically allowed |
478 | * through) */ | 481 | * through.) |
482 | * It is permissible to not handle all encrypted frames and fall | ||
483 | * back to software encryption; however, if this flag is set | ||
484 | * unencrypted frames must be dropped unless the driver is told | ||
485 | * otherwise via the set_ieee8021x() callback. | ||
486 | */ | ||
479 | #define IEEE80211_HW_DEVICE_HIDES_WEP (1<<2) | 487 | #define IEEE80211_HW_DEVICE_HIDES_WEP (1<<2) |
480 | 488 | ||
481 | /* Whether RX frames passed to ieee80211_rx() include FCS in the end */ | 489 | /* Whether RX frames passed to ieee80211_rx() include FCS in the end */ |
@@ -489,6 +497,18 @@ struct ieee80211_hw { | |||
489 | * can fetch them with ieee80211_get_buffered_bc(). */ | 497 | * can fetch them with ieee80211_get_buffered_bc(). */ |
490 | #define IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING (1<<4) | 498 | #define IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING (1<<4) |
491 | 499 | ||
500 | /* | ||
501 | * This flag is only relevant if hardware encryption is used. | ||
502 | * If set, it has two meanings: | ||
503 | * 1) the IV and ICV are present in received frames that have | ||
504 | * been decrypted (unless IEEE80211_HW_DEVICE_HIDES_WEP is | ||
505 | * also set) | ||
506 | * 2) on transmission, the IV should be generated in software. | ||
507 | * | ||
508 | * Please let us know if you *don't* use this flag, the stack would | ||
509 | * really like to be able to get the IV to keep key statistics | ||
510 | * accurate. | ||
511 | */ | ||
492 | #define IEEE80211_HW_WEP_INCLUDE_IV (1<<5) | 512 | #define IEEE80211_HW_WEP_INCLUDE_IV (1<<5) |
493 | 513 | ||
494 | /* hole at 6 */ | 514 | /* hole at 6 */ |
@@ -496,11 +516,12 @@ struct ieee80211_hw { | |||
496 | /* Force software encryption for TKIP packets if WMM is enabled. */ | 516 | /* Force software encryption for TKIP packets if WMM is enabled. */ |
497 | #define IEEE80211_HW_NO_TKIP_WMM_HWACCEL (1<<7) | 517 | #define IEEE80211_HW_NO_TKIP_WMM_HWACCEL (1<<7) |
498 | 518 | ||
499 | /* Some devices handle Michael MIC internally and do not include MIC in | 519 | /* |
500 | * the received packets passed up. device_strips_mic must be set | 520 | * Some devices handle Michael MIC internally and do not include MIC in |
501 | * for such devices. The 'encryption' frame control bit is expected to | 521 | * the received packets passed up. This flag must be set for such |
502 | * be still set in the IEEE 802.11 header with this option unlike with | 522 | * devices. The 'encryption' frame control bit is expected to be still |
503 | * the device_hides_wep configuration option. | 523 | * set in the IEEE 802.11 header with this option unlike with the |
524 | * IEEE80211_HW_DEVICE_HIDES_WEP flag. | ||
504 | */ | 525 | */ |
505 | #define IEEE80211_HW_DEVICE_STRIPS_MIC (1<<8) | 526 | #define IEEE80211_HW_DEVICE_STRIPS_MIC (1<<8) |
506 | 527 | ||