diff options
author | James Ketrenos <jketreno@linux.intel.com> | 2005-09-21 12:53:54 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-09-21 23:01:52 -0400 |
commit | f1bf6638af9e9bbbb6fb0b769054fb7db1ae652f (patch) | |
tree | 5cf2dca63f88c1709ae8ee9d913c7f819bfc6ce8 /include/net | |
parent | 20d64713ae71c0b0aa06084acbef2244021baaca (diff) |
[PATCH] ieee80211: Hardware crypto and fragmentation offload support
tree 5322d496af90d03ffbec27292dc1a6268a746ede
parent 6c9364386ccb786e4a84427ab3ad712f0b7b8904
author James Ketrenos <jketreno@linux.intel.com> 1124432367 -0500
committer James Ketrenos <jketreno@linux.intel.com> 1127311810 -0500
Hardware crypto and fragmentation offload support added (Zhu Yi)
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Diffstat (limited to 'include/net')
-rw-r--r-- | include/net/ieee80211.h | 46 |
1 files changed, 25 insertions, 21 deletions
diff --git a/include/net/ieee80211.h b/include/net/ieee80211.h index ed06a9454edc..fa14360dbc9d 100644 --- a/include/net/ieee80211.h +++ b/include/net/ieee80211.h | |||
@@ -430,31 +430,34 @@ struct ieee80211_device; | |||
430 | 430 | ||
431 | #include "ieee80211_crypt.h" | 431 | #include "ieee80211_crypt.h" |
432 | 432 | ||
433 | #define SEC_KEY_1 (1<<0) | 433 | #define SEC_KEY_1 (1<<0) |
434 | #define SEC_KEY_2 (1<<1) | 434 | #define SEC_KEY_2 (1<<1) |
435 | #define SEC_KEY_3 (1<<2) | 435 | #define SEC_KEY_3 (1<<2) |
436 | #define SEC_KEY_4 (1<<3) | 436 | #define SEC_KEY_4 (1<<3) |
437 | #define SEC_KEY_MASK (SEC_KEY_1 | SEC_KEY_2 | SEC_KEY_3 | SEC_KEY_4) | 437 | #define SEC_ACTIVE_KEY (1<<4) |
438 | #define SEC_ACTIVE_KEY (1<<4) | 438 | #define SEC_AUTH_MODE (1<<5) |
439 | #define SEC_AUTH_MODE (1<<5) | 439 | #define SEC_UNICAST_GROUP (1<<6) |
440 | #define SEC_UNICAST_GROUP (1<<6) | 440 | #define SEC_LEVEL (1<<7) |
441 | #define SEC_LEVEL (1<<7) | 441 | #define SEC_ENABLED (1<<8) |
442 | #define SEC_ENABLED (1<<8) | 442 | #define SEC_TGI_KEY_RESET (1<<9) |
443 | 443 | ||
444 | #define SEC_LEVEL_0 0 /* None */ | 444 | #define SEC_LEVEL_0 0 /* None */ |
445 | #define SEC_LEVEL_1 1 /* WEP 40 and 104 bit */ | 445 | #define SEC_LEVEL_1 1 /* WEP 40 and 104 bit */ |
446 | #define SEC_LEVEL_2 2 /* Level 1 + TKIP */ | 446 | #define SEC_LEVEL_2 2 /* Level 1 + TKIP */ |
447 | #define SEC_LEVEL_2_CKIP 3 /* Level 1 + CKIP */ | 447 | #define SEC_LEVEL_2_CKIP 3 /* Level 1 + CKIP */ |
448 | #define SEC_LEVEL_3 4 /* Level 2 + CCMP */ | 448 | #define SEC_LEVEL_3 4 /* Level 2 + CCMP */ |
449 | 449 | ||
450 | #define WEP_KEYS 4 | 450 | #define WEP_KEYS 4 |
451 | #define WEP_KEY_LEN 13 | 451 | #define WEP_KEY_LEN 13 |
452 | #define SCM_KEY_LEN 32 | ||
453 | #define SCM_TEMPORAL_KEY_LENGTH 16 | ||
452 | 454 | ||
453 | struct ieee80211_security { | 455 | struct ieee80211_security { |
454 | u16 active_key:2, | 456 | u16 active_key:2, |
455 | enabled:1, auth_mode:2, auth_algo:4, unicast_uses_group:1; | 457 | enabled:1, |
458 | auth_mode:2, auth_algo:4, unicast_uses_group:1, encrypt:1; | ||
456 | u8 key_sizes[WEP_KEYS]; | 459 | u8 key_sizes[WEP_KEYS]; |
457 | u8 keys[WEP_KEYS][WEP_KEY_LEN]; | 460 | u8 keys[WEP_KEYS][SCM_KEY_LEN]; |
458 | u8 level; | 461 | u8 level; |
459 | u16 flags; | 462 | u16 flags; |
460 | } __attribute__ ((packed)); | 463 | } __attribute__ ((packed)); |
@@ -636,6 +639,7 @@ enum ieee80211_state { | |||
636 | 639 | ||
637 | struct ieee80211_device { | 640 | struct ieee80211_device { |
638 | struct net_device *dev; | 641 | struct net_device *dev; |
642 | struct ieee80211_security sec; | ||
639 | 643 | ||
640 | /* Bookkeeping structures */ | 644 | /* Bookkeeping structures */ |
641 | struct net_device_stats stats; | 645 | struct net_device_stats stats; |