aboutsummaryrefslogtreecommitdiffstats
path: root/include/net
diff options
context:
space:
mode:
authorJames Ketrenos <jketreno@linux.intel.com>2005-09-21 12:53:54 -0400
committerJeff Garzik <jgarzik@pobox.com>2005-09-21 23:01:52 -0400
commitf1bf6638af9e9bbbb6fb0b769054fb7db1ae652f (patch)
tree5cf2dca63f88c1709ae8ee9d913c7f819bfc6ce8 /include/net
parent20d64713ae71c0b0aa06084acbef2244021baaca (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.h46
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
453struct ieee80211_security { 455struct 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
637struct ieee80211_device { 640struct 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;