.. | .. |
---|
4 | 4 | * |
---|
5 | 5 | * Interface to the FSF support functions. |
---|
6 | 6 | * |
---|
7 | | - * Copyright IBM Corp. 2002, 2018 |
---|
| 7 | + * Copyright IBM Corp. 2002, 2020 |
---|
8 | 8 | */ |
---|
9 | 9 | |
---|
10 | 10 | #ifndef FSF_H |
---|
.. | .. |
---|
78 | 78 | #define FSF_BLOCK_GUARD_CHECK_FAILURE 0x00000081 |
---|
79 | 79 | #define FSF_APP_TAG_CHECK_FAILURE 0x00000082 |
---|
80 | 80 | #define FSF_REF_TAG_CHECK_FAILURE 0x00000083 |
---|
| 81 | +#define FSF_SECURITY_ERROR 0x00000090 |
---|
81 | 82 | #define FSF_ADAPTER_STATUS_AVAILABLE 0x000000AD |
---|
82 | 83 | #define FSF_FCP_RSP_AVAILABLE 0x000000AF |
---|
83 | 84 | #define FSF_UNKNOWN_COMMAND 0x000000E2 |
---|
.. | .. |
---|
109 | 110 | #define FSF_PSQ_LINK_WWPN_ASSIGNMENT_CORRUPTED 0x00002000 |
---|
110 | 111 | #define FSF_PSQ_LINK_MODE_TABLE_CURRUPTED 0x00004000 |
---|
111 | 112 | #define FSF_PSQ_LINK_NO_WWPN_ASSIGNMENT 0x00008000 |
---|
| 113 | + |
---|
| 114 | +/* FSF status qualifier, security error */ |
---|
| 115 | +#define FSF_SQ_SECURITY_REQUIRED 0x00000001 |
---|
| 116 | +#define FSF_SQ_SECURITY_TIMEOUT 0x00000002 |
---|
| 117 | +#define FSF_SQ_SECURITY_KM_UNAVAILABLE 0x00000003 |
---|
| 118 | +#define FSF_SQ_SECURITY_RKM_UNAVAILABLE 0x00000004 |
---|
| 119 | +#define FSF_SQ_SECURITY_AUTH_FAILURE 0x00000005 |
---|
| 120 | +#define FSF_SQ_SECURITY_ENC_FAILURE 0x00000010 |
---|
112 | 121 | |
---|
113 | 122 | /* payload size in status read buffer */ |
---|
114 | 123 | #define FSF_STATUS_READ_PAYLOAD_SIZE 4032 |
---|
.. | .. |
---|
163 | 172 | #define FSF_FEATURE_ELS_CT_CHAINED_SBALS 0x00000020 |
---|
164 | 173 | #define FSF_FEATURE_UPDATE_ALERT 0x00000100 |
---|
165 | 174 | #define FSF_FEATURE_MEASUREMENT_DATA 0x00000200 |
---|
| 175 | +#define FSF_FEATURE_REQUEST_SFP_DATA 0x00000200 |
---|
| 176 | +#define FSF_FEATURE_REPORT_SFP_DATA 0x00000800 |
---|
| 177 | +#define FSF_FEATURE_FC_SECURITY 0x00001000 |
---|
166 | 178 | #define FSF_FEATURE_DIF_PROT_TYPE1 0x00010000 |
---|
167 | 179 | #define FSF_FEATURE_DIX_PROT_TCPIP 0x00020000 |
---|
168 | 180 | |
---|
.. | .. |
---|
171 | 183 | |
---|
172 | 184 | /* option */ |
---|
173 | 185 | #define FSF_OPEN_LUN_SUPPRESS_BOXING 0x00000001 |
---|
| 186 | + |
---|
| 187 | +/* FC security algorithms */ |
---|
| 188 | +#define FSF_FC_SECURITY_AUTH 0x00000001 |
---|
| 189 | +#define FSF_FC_SECURITY_ENC_FCSP2 0x00000002 |
---|
| 190 | +#define FSF_FC_SECURITY_ENC_ERAS 0x00000004 |
---|
174 | 191 | |
---|
175 | 192 | struct fsf_queue_designator { |
---|
176 | 193 | u8 cssid; |
---|
.. | .. |
---|
336 | 353 | u8 res3[3]; |
---|
337 | 354 | u8 timeout; |
---|
338 | 355 | u32 lun_access_info; |
---|
339 | | - u8 res4[180]; |
---|
| 356 | + u32 connection_info; |
---|
| 357 | + u8 res4[176]; |
---|
340 | 358 | u32 els1_length; |
---|
341 | 359 | u32 els2_length; |
---|
342 | 360 | u32 req_buf_length; |
---|
.. | .. |
---|
407 | 425 | u8 cp_util; |
---|
408 | 426 | u8 cb_util; |
---|
409 | 427 | u8 a_util; |
---|
410 | | - u8 res2[253]; |
---|
| 428 | + u8 res2; |
---|
| 429 | + s16 temperature; |
---|
| 430 | + u16 vcc; |
---|
| 431 | + u16 tx_bias; |
---|
| 432 | + u16 tx_power; |
---|
| 433 | + u16 rx_power; |
---|
| 434 | + union { |
---|
| 435 | + u16 raw; |
---|
| 436 | + struct { |
---|
| 437 | + u16 fec_active :1; |
---|
| 438 | + u16:7; |
---|
| 439 | + u16 connector_type :2; |
---|
| 440 | + u16 sfp_invalid :1; |
---|
| 441 | + u16 optical_port :1; |
---|
| 442 | + u16 port_tx_type :4; |
---|
| 443 | + }; |
---|
| 444 | + } sfp_flags; |
---|
| 445 | + u32 fc_security_algorithms; |
---|
| 446 | + u8 res3[236]; |
---|
411 | 447 | } __attribute__ ((packed)); |
---|
412 | 448 | |
---|
413 | 449 | union fsf_qtcb_bottom { |
---|
.. | .. |
---|
438 | 474 | |
---|
439 | 475 | /** |
---|
440 | 476 | * struct zfcp_fsf_ct_els - zfcp data for ct or els request |
---|
441 | | - * @req: scatter-gather list for request |
---|
442 | | - * @resp: scatter-gather list for response |
---|
| 477 | + * @req: scatter-gather list for request, points to &zfcp_fc_req.sg_req or BSG |
---|
| 478 | + * @resp: scatter-gather list for response, points to &zfcp_fc_req.sg_rsp or BSG |
---|
443 | 479 | * @handler: handler function (called for response to the request) |
---|
444 | 480 | * @handler_data: data passed to handler function |
---|
445 | 481 | * @port: Optional pointer to port for zfcp internal ELS (only test link ADISC) |
---|