diff options
Diffstat (limited to 'include/scsi')
| -rw-r--r-- | include/scsi/Kbuild | 1 | ||||
| -rw-r--r-- | include/scsi/iscsi_if.h | 117 | ||||
| -rw-r--r-- | include/scsi/libfc.h | 3 | ||||
| -rw-r--r-- | include/scsi/libiscsi.h | 1 | ||||
| -rw-r--r-- | include/scsi/libsas.h | 4 | ||||
| -rw-r--r-- | include/scsi/osd_protocol.h | 2 | ||||
| -rw-r--r-- | include/scsi/sas.h | 22 | ||||
| -rw-r--r-- | include/scsi/sas_ata.h | 4 | ||||
| -rw-r--r-- | include/scsi/scsi_device.h | 16 | ||||
| -rw-r--r-- | include/scsi/scsi_host.h | 6 | ||||
| -rw-r--r-- | include/scsi/scsi_transport_iscsi.h | 147 | ||||
| -rw-r--r-- | include/scsi/scsi_transport_sas.h | 7 |
12 files changed, 300 insertions, 30 deletions
diff --git a/include/scsi/Kbuild b/include/scsi/Kbuild deleted file mode 100644 index 562ff9d591b8..000000000000 --- a/include/scsi/Kbuild +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | header-y += fc/ | ||
diff --git a/include/scsi/iscsi_if.h b/include/scsi/iscsi_if.h index 917741bb8e11..fe7f06c86f68 100644 --- a/include/scsi/iscsi_if.h +++ b/include/scsi/iscsi_if.h | |||
| @@ -63,6 +63,12 @@ enum iscsi_uevent_e { | |||
| 63 | ISCSI_UEVENT_PING = UEVENT_BASE + 22, | 63 | ISCSI_UEVENT_PING = UEVENT_BASE + 22, |
| 64 | ISCSI_UEVENT_GET_CHAP = UEVENT_BASE + 23, | 64 | ISCSI_UEVENT_GET_CHAP = UEVENT_BASE + 23, |
| 65 | ISCSI_UEVENT_DELETE_CHAP = UEVENT_BASE + 24, | 65 | ISCSI_UEVENT_DELETE_CHAP = UEVENT_BASE + 24, |
| 66 | ISCSI_UEVENT_SET_FLASHNODE_PARAMS = UEVENT_BASE + 25, | ||
| 67 | ISCSI_UEVENT_NEW_FLASHNODE = UEVENT_BASE + 26, | ||
| 68 | ISCSI_UEVENT_DEL_FLASHNODE = UEVENT_BASE + 27, | ||
| 69 | ISCSI_UEVENT_LOGIN_FLASHNODE = UEVENT_BASE + 28, | ||
| 70 | ISCSI_UEVENT_LOGOUT_FLASHNODE = UEVENT_BASE + 29, | ||
| 71 | ISCSI_UEVENT_LOGOUT_FLASHNODE_SID = UEVENT_BASE + 30, | ||
| 66 | 72 | ||
| 67 | /* up events */ | 73 | /* up events */ |
| 68 | ISCSI_KEVENT_RECV_PDU = KEVENT_BASE + 1, | 74 | ISCSI_KEVENT_RECV_PDU = KEVENT_BASE + 1, |
| @@ -210,6 +216,31 @@ struct iscsi_uevent { | |||
| 210 | uint32_t host_no; | 216 | uint32_t host_no; |
| 211 | uint16_t chap_tbl_idx; | 217 | uint16_t chap_tbl_idx; |
| 212 | } delete_chap; | 218 | } delete_chap; |
| 219 | struct msg_set_flashnode_param { | ||
| 220 | uint32_t host_no; | ||
| 221 | uint32_t flashnode_idx; | ||
| 222 | uint32_t count; | ||
| 223 | } set_flashnode; | ||
| 224 | struct msg_new_flashnode { | ||
| 225 | uint32_t host_no; | ||
| 226 | uint32_t len; | ||
| 227 | } new_flashnode; | ||
| 228 | struct msg_del_flashnode { | ||
| 229 | uint32_t host_no; | ||
| 230 | uint32_t flashnode_idx; | ||
| 231 | } del_flashnode; | ||
| 232 | struct msg_login_flashnode { | ||
| 233 | uint32_t host_no; | ||
| 234 | uint32_t flashnode_idx; | ||
| 235 | } login_flashnode; | ||
| 236 | struct msg_logout_flashnode { | ||
| 237 | uint32_t host_no; | ||
| 238 | uint32_t flashnode_idx; | ||
| 239 | } logout_flashnode; | ||
| 240 | struct msg_logout_flashnode_sid { | ||
| 241 | uint32_t host_no; | ||
| 242 | uint32_t sid; | ||
| 243 | } logout_flashnode_sid; | ||
| 213 | } u; | 244 | } u; |
| 214 | union { | 245 | union { |
| 215 | /* messages k -> u */ | 246 | /* messages k -> u */ |
| @@ -267,6 +298,9 @@ struct iscsi_uevent { | |||
| 267 | with each ping request */ | 298 | with each ping request */ |
| 268 | uint32_t data_size; | 299 | uint32_t data_size; |
| 269 | } ping_comp; | 300 | } ping_comp; |
| 301 | struct msg_new_flashnode_ret { | ||
| 302 | uint32_t flashnode_idx; | ||
| 303 | } new_flashnode_ret; | ||
| 270 | } r; | 304 | } r; |
| 271 | } __attribute__ ((aligned (sizeof(uint64_t)))); | 305 | } __attribute__ ((aligned (sizeof(uint64_t)))); |
| 272 | 306 | ||
| @@ -274,6 +308,7 @@ enum iscsi_param_type { | |||
| 274 | ISCSI_PARAM, /* iscsi_param (session, conn, target, LU) */ | 308 | ISCSI_PARAM, /* iscsi_param (session, conn, target, LU) */ |
| 275 | ISCSI_HOST_PARAM, /* iscsi_host_param */ | 309 | ISCSI_HOST_PARAM, /* iscsi_host_param */ |
| 276 | ISCSI_NET_PARAM, /* iscsi_net_param */ | 310 | ISCSI_NET_PARAM, /* iscsi_net_param */ |
| 311 | ISCSI_FLASHNODE_PARAM, /* iscsi_flashnode_param */ | ||
| 277 | }; | 312 | }; |
| 278 | 313 | ||
| 279 | struct iscsi_iface_param_info { | 314 | struct iscsi_iface_param_info { |
| @@ -469,6 +504,88 @@ enum iscsi_host_param { | |||
| 469 | ISCSI_HOST_PARAM_MAX, | 504 | ISCSI_HOST_PARAM_MAX, |
| 470 | }; | 505 | }; |
| 471 | 506 | ||
| 507 | /* portal type */ | ||
| 508 | #define PORTAL_TYPE_IPV4 "ipv4" | ||
| 509 | #define PORTAL_TYPE_IPV6 "ipv6" | ||
| 510 | |||
| 511 | /* iSCSI Flash Target params */ | ||
| 512 | enum iscsi_flashnode_param { | ||
| 513 | ISCSI_FLASHNODE_IS_FW_ASSIGNED_IPV6, | ||
| 514 | ISCSI_FLASHNODE_PORTAL_TYPE, | ||
| 515 | ISCSI_FLASHNODE_AUTO_SND_TGT_DISABLE, | ||
| 516 | ISCSI_FLASHNODE_DISCOVERY_SESS, | ||
| 517 | ISCSI_FLASHNODE_ENTRY_EN, | ||
| 518 | ISCSI_FLASHNODE_HDR_DGST_EN, | ||
| 519 | ISCSI_FLASHNODE_DATA_DGST_EN, | ||
| 520 | ISCSI_FLASHNODE_IMM_DATA_EN, | ||
| 521 | ISCSI_FLASHNODE_INITIAL_R2T_EN, | ||
| 522 | ISCSI_FLASHNODE_DATASEQ_INORDER, | ||
| 523 | ISCSI_FLASHNODE_PDU_INORDER, | ||
| 524 | ISCSI_FLASHNODE_CHAP_AUTH_EN, | ||
| 525 | ISCSI_FLASHNODE_SNACK_REQ_EN, | ||
| 526 | ISCSI_FLASHNODE_DISCOVERY_LOGOUT_EN, | ||
| 527 | ISCSI_FLASHNODE_BIDI_CHAP_EN, | ||
| 528 | /* make authentication for discovery sessions optional */ | ||
| 529 | ISCSI_FLASHNODE_DISCOVERY_AUTH_OPTIONAL, | ||
| 530 | ISCSI_FLASHNODE_ERL, | ||
| 531 | ISCSI_FLASHNODE_TCP_TIMESTAMP_STAT, | ||
| 532 | ISCSI_FLASHNODE_TCP_NAGLE_DISABLE, | ||
| 533 | ISCSI_FLASHNODE_TCP_WSF_DISABLE, | ||
| 534 | ISCSI_FLASHNODE_TCP_TIMER_SCALE, | ||
| 535 | ISCSI_FLASHNODE_TCP_TIMESTAMP_EN, | ||
| 536 | ISCSI_FLASHNODE_IP_FRAG_DISABLE, | ||
| 537 | ISCSI_FLASHNODE_MAX_RECV_DLENGTH, | ||
| 538 | ISCSI_FLASHNODE_MAX_XMIT_DLENGTH, | ||
| 539 | ISCSI_FLASHNODE_FIRST_BURST, | ||
| 540 | ISCSI_FLASHNODE_DEF_TIME2WAIT, | ||
| 541 | ISCSI_FLASHNODE_DEF_TIME2RETAIN, | ||
| 542 | ISCSI_FLASHNODE_MAX_R2T, | ||
| 543 | ISCSI_FLASHNODE_KEEPALIVE_TMO, | ||
| 544 | ISCSI_FLASHNODE_ISID, | ||
| 545 | ISCSI_FLASHNODE_TSID, | ||
| 546 | ISCSI_FLASHNODE_PORT, | ||
| 547 | ISCSI_FLASHNODE_MAX_BURST, | ||
| 548 | ISCSI_FLASHNODE_DEF_TASKMGMT_TMO, | ||
| 549 | ISCSI_FLASHNODE_IPADDR, | ||
| 550 | ISCSI_FLASHNODE_ALIAS, | ||
| 551 | ISCSI_FLASHNODE_REDIRECT_IPADDR, | ||
| 552 | ISCSI_FLASHNODE_MAX_SEGMENT_SIZE, | ||
| 553 | ISCSI_FLASHNODE_LOCAL_PORT, | ||
| 554 | ISCSI_FLASHNODE_IPV4_TOS, | ||
| 555 | ISCSI_FLASHNODE_IPV6_TC, | ||
| 556 | ISCSI_FLASHNODE_IPV6_FLOW_LABEL, | ||
| 557 | ISCSI_FLASHNODE_NAME, | ||
| 558 | ISCSI_FLASHNODE_TPGT, | ||
| 559 | ISCSI_FLASHNODE_LINK_LOCAL_IPV6, | ||
| 560 | ISCSI_FLASHNODE_DISCOVERY_PARENT_IDX, | ||
| 561 | ISCSI_FLASHNODE_DISCOVERY_PARENT_TYPE, | ||
| 562 | ISCSI_FLASHNODE_TCP_XMIT_WSF, | ||
| 563 | ISCSI_FLASHNODE_TCP_RECV_WSF, | ||
| 564 | ISCSI_FLASHNODE_CHAP_IN_IDX, | ||
| 565 | ISCSI_FLASHNODE_CHAP_OUT_IDX, | ||
| 566 | ISCSI_FLASHNODE_USERNAME, | ||
| 567 | ISCSI_FLASHNODE_USERNAME_IN, | ||
| 568 | ISCSI_FLASHNODE_PASSWORD, | ||
| 569 | ISCSI_FLASHNODE_PASSWORD_IN, | ||
| 570 | ISCSI_FLASHNODE_STATSN, | ||
| 571 | ISCSI_FLASHNODE_EXP_STATSN, | ||
| 572 | ISCSI_FLASHNODE_IS_BOOT_TGT, | ||
| 573 | |||
| 574 | ISCSI_FLASHNODE_MAX, | ||
| 575 | }; | ||
| 576 | |||
| 577 | struct iscsi_flashnode_param_info { | ||
| 578 | uint32_t len; /* Actual length of the param */ | ||
| 579 | uint16_t param; /* iscsi param value */ | ||
| 580 | uint8_t value[0]; /* length sized value follows */ | ||
| 581 | } __packed; | ||
| 582 | |||
| 583 | enum iscsi_discovery_parent_type { | ||
| 584 | ISCSI_DISC_PARENT_UNKNOWN = 0x1, | ||
| 585 | ISCSI_DISC_PARENT_SENDTGT = 0x2, | ||
| 586 | ISCSI_DISC_PARENT_ISNS = 0x3, | ||
| 587 | }; | ||
| 588 | |||
| 472 | /* iSCSI port Speed */ | 589 | /* iSCSI port Speed */ |
| 473 | enum iscsi_port_speed { | 590 | enum iscsi_port_speed { |
| 474 | ISCSI_PORT_SPEED_UNKNOWN = 0x1, | 591 | ISCSI_PORT_SPEED_UNKNOWN = 0x1, |
diff --git a/include/scsi/libfc.h b/include/scsi/libfc.h index 399162b50a8d..e1379b4e8faf 100644 --- a/include/scsi/libfc.h +++ b/include/scsi/libfc.h | |||
| @@ -1074,7 +1074,8 @@ void fc_rport_terminate_io(struct fc_rport *); | |||
| 1074 | /* | 1074 | /* |
| 1075 | * DISCOVERY LAYER | 1075 | * DISCOVERY LAYER |
| 1076 | *****************************/ | 1076 | *****************************/ |
| 1077 | int fc_disc_init(struct fc_lport *); | 1077 | void fc_disc_init(struct fc_lport *); |
| 1078 | void fc_disc_config(struct fc_lport *, void *); | ||
| 1078 | 1079 | ||
| 1079 | static inline struct fc_lport *fc_disc_lport(struct fc_disc *disc) | 1080 | static inline struct fc_lport *fc_disc_lport(struct fc_disc *disc) |
| 1080 | { | 1081 | { |
diff --git a/incl | |||
