diff options
Diffstat (limited to 'drivers/scsi/bfa/include/defs/bfa_defs_auth.h')
-rw-r--r-- | drivers/scsi/bfa/include/defs/bfa_defs_auth.h | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/drivers/scsi/bfa/include/defs/bfa_defs_auth.h b/drivers/scsi/bfa/include/defs/bfa_defs_auth.h new file mode 100644 index 000000000000..dd19c83aba58 --- /dev/null +++ b/drivers/scsi/bfa/include/defs/bfa_defs_auth.h | |||
@@ -0,0 +1,112 @@ | |||
1 | /* | ||
2 | * Copyright (c) 2005-2009 Brocade Communications Systems, Inc. | ||
3 | * All rights reserved | ||
4 | * www.brocade.com | ||
5 | * | ||
6 | * Linux driver for Brocade Fibre Channel Host Bus Adapter. | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify it | ||
9 | * under the terms of the GNU General Public License (GPL) Version 2 as | ||
10 | * published by the Free Software Foundation | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, but | ||
13 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
15 | * General Public License for more details. | ||
16 | */ | ||
17 | #ifndef __BFA_DEFS_AUTH_H__ | ||
18 | #define __BFA_DEFS_AUTH_H__ | ||
19 | |||
20 | #include <defs/bfa_defs_types.h> | ||
21 | |||
22 | #define PUBLIC_KEY 15409 | ||
23 | #define PRIVATE_KEY 19009 | ||
24 | #define KEY_LEN 32399 | ||
25 | #define BFA_AUTH_SECRET_STRING_LEN 256 | ||
26 | #define BFA_AUTH_FAIL_TIMEOUT 0xFF | ||
27 | |||
28 | /** | ||
29 | * Authentication status | ||
30 | */ | ||
31 | enum bfa_auth_status { | ||
32 | BFA_AUTH_STATUS_NONE = 0, /* no authentication */ | ||
33 | BFA_AUTH_UNINIT = 1, /* state - uninit */ | ||
34 | BFA_AUTH_NEG_SEND = 2, /* state - negotiate send */ | ||
35 | BFA_AUTH_CHAL_WAIT = 3, /* state - challenge wait */ | ||
36 | BFA_AUTH_NEG_RETRY = 4, /* state - negotiate retry */ | ||
37 | BFA_AUTH_REPLY_SEND = 5, /* state - reply send */ | ||
38 | BFA_AUTH_STATUS_WAIT = 6, /* state - status wait */ | ||
39 | BFA_AUTH_SUCCESS = 7, /* state - success */ | ||
40 | BFA_AUTH_FAILED = 8, /* state - failed */ | ||
41 | BFA_AUTH_STATUS_UNKNOWN = 9, /* authentication status unknown */ | ||
42 | }; | ||
43 | |||
44 | struct auth_proto_stats_s { | ||
45 | u32 auth_rjts; | ||
46 | u32 auth_negs; | ||
47 | u32 auth_dones; | ||
48 | |||
49 | u32 dhchap_challenges; | ||
50 | u32 dhchap_replies; | ||
51 | u32 dhchap_successes; | ||
52 | }; | ||
53 | |||
54 | /** | ||
55 | * Authentication related statistics | ||
56 | */ | ||
57 | struct bfa_auth_stats_s { | ||
58 | u32 auth_failures; /* authentication failures */ | ||
59 | u32 auth_successes; /* authentication successes*/ | ||
60 | struct auth_proto_stats_s auth_rx_stats; /* Rx protocol stats */ | ||
61 | struct auth_proto_stats_s auth_tx_stats; /* Tx protocol stats */ | ||
62 | }; | ||
63 | |||
64 | /** | ||
65 | * Authentication hash function algorithms | ||
66 | */ | ||
67 | enum bfa_auth_algo { | ||
68 | BFA_AUTH_ALGO_MD5 = 1, /* Message-Digest algorithm 5 */ | ||
69 | BFA_AUTH_ALGO_SHA1 = 2, /* Secure Hash Algorithm 1 */ | ||
70 | BFA_AUTH_ALGO_MS = 3, /* MD5, then SHA-1 */ | ||
71 | BFA_AUTH_ALGO_SM = 4, /* SHA-1, then MD5 */ | ||
72 | }; | ||
73 | |||
74 | /** | ||
75 | * DH Groups | ||
76 | * | ||
77 | * Current value could be combination of one or more of the following values | ||
78 | */ | ||
79 | enum bfa_auth_group { | ||
80 | BFA_AUTH_GROUP_DHNULL = 0, /* DH NULL (value == 0) */ | ||
81 | BFA_AUTH_GROUP_DH768 = 1, /* DH group 768 (value == 1) */ | ||
82 | BFA_AUTH_GROUP_DH1024 = 2, /* DH group 1024 (value == 2) */ | ||
83 | BFA_AUTH_GROUP_DH1280 = 4, /* DH group 1280 (value == 3) */ | ||
84 | BFA_AUTH_GROUP_DH1536 = 8, /* DH group 1536 (value == 4) */ | ||
85 | |||
86 | BFA_AUTH_GROUP_ALL = 256 /* Use default DH group order | ||
87 | * 0, 1, 2, 3, 4 */ | ||
88 | }; | ||
89 | |||
90 | /** | ||
91 | * Authentication secret sources | ||
92 | */ | ||
93 | enum bfa_auth_secretsource { | ||
94 | BFA_AUTH_SECSRC_LOCAL = 1, /* locally configured */ | ||
95 | BFA_AUTH_SECSRC_RADIUS = 2, /* use radius server */ | ||
96 | BFA_AUTH_SECSRC_TACACS = 3, /* TACACS server */ | ||
97 | }; | ||
98 | |||
99 | /** | ||
100 | * Authentication attributes | ||
101 | */ | ||
102 | struct bfa_auth_attr_s { | ||
103 | enum bfa_auth_status status; | ||
104 | enum bfa_auth_algo algo; | ||
105 | enum bfa_auth_group dh_grp; | ||
106 | u16 rjt_code; | ||
107 | u16 rjt_code_exp; | ||
108 | u8 secret_set; | ||
109 | u8 resv[7]; | ||
110 | }; | ||
111 | |||
112 | #endif /* __BFA_DEFS_AUTH_H__ */ | ||