aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorMike Christie <michaelc@cs.wisc.edu>2007-05-30 13:57:25 -0400
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>2007-06-02 15:38:04 -0400
commitd8196ed2181b4595eaf464a5bcbddb6c28649a39 (patch)
treec4a9fd65f2c43bfecfa50f5714036f52200749c6 /include
parent2223696192c687f2853e42b7c1e0d3ef002081fd (diff)
[SCSI] iscsi class, iscsi_tcp, iser, qla4xxx: add netdevname sysfs attr
iSCSI must support software iscsi (iscsi_tcp, iser), hardware iscsi (qla4xxx), and partial offload (broadcom). To be able to allow each stack or driver or port (virtual or physical) to be able to log into the same target portal we use the initiator tuple [[HWADDRESS | NETDEVNAME], INITIATOR_NAME] and the target tuple [TARGETNAME, CONN_ADDRESS, CONN_PORT] to id a session. This patch adds the netdev name, which is used by software iscsi when it binds a session to a netdevice using the SO_BINDTODEVICE sock opt. It cannot use HWADDRESS because if someone did vlans then the same netdevice will have the same mac and the initiator,target id will not be unique. Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Cc: Roland Dreier <rdreier@cisco.com> Cc: David C Somayajulu <david.somayajulu@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'include')
-rw-r--r--include/scsi/iscsi_if.h3
-rw-r--r--include/scsi/libiscsi.h3
2 files changed, 5 insertions, 1 deletions
diff --git a/include/scsi/iscsi_if.h b/include/scsi/iscsi_if.h
index 642998069e00..50e907f42048 100644
--- a/include/scsi/iscsi_if.h
+++ b/include/scsi/iscsi_if.h
@@ -271,12 +271,14 @@ enum iscsi_param {
271enum iscsi_host_param { 271enum iscsi_host_param {
272 ISCSI_HOST_PARAM_HWADDRESS, 272 ISCSI_HOST_PARAM_HWADDRESS,
273 ISCSI_HOST_PARAM_INITIATOR_NAME, 273 ISCSI_HOST_PARAM_INITIATOR_NAME,
274 ISCSI_HOST_PARAM_NETDEV_NAME,
274 ISCSI_HOST_PARAM_IPADDRESS, 275 ISCSI_HOST_PARAM_IPADDRESS,
275 ISCSI_HOST_PARAM_MAX, 276 ISCSI_HOST_PARAM_MAX,
276}; 277};
277 278
278#define ISCSI_HOST_HWADDRESS (1 << ISCSI_HOST_PARAM_HWADDRESS) 279#define ISCSI_HOST_HWADDRESS (1 << ISCSI_HOST_PARAM_HWADDRESS)
279#define ISCSI_HOST_INITIATOR_NAME (1 << ISCSI_HOST_PARAM_INITIATOR_NAME) 280#define ISCSI_HOST_INITIATOR_NAME (1 << ISCSI_HOST_PARAM_INITIATOR_NAME)
281#define ISCSI_HOST_NETDEV_NAME (1 << ISCSI_HOST_PARAM_NETDEV_NAME)
280#define ISCSI_HOST_IPADDRESS (1 << ISCSI_HOST_PARAM_IPADDRESS) 282#define ISCSI_HOST_IPADDRESS (1 << ISCSI_HOST_PARAM_IPADDRESS)
281 283
282#define iscsi_ptr(_handle) ((void*)(unsigned long)_handle) 284#define iscsi_ptr(_handle) ((void*)(unsigned long)_handle)
@@ -303,6 +305,7 @@ enum iscsi_host_param {
303#define CAP_MARKERS 0x100 305#define CAP_MARKERS 0x100
304#define CAP_FW_DB 0x200 306#define CAP_FW_DB 0x200
305#define CAP_SENDTARGETS_OFFLOAD 0x400 307#define CAP_SENDTARGETS_OFFLOAD 0x400
308#define CAP_DATA_PATH_OFFLOAD 0x800
306 309
307/* 310/*
308 * These flags describes reason of stop_conn() call 311 * These flags describes reason of stop_conn() call
diff --git a/include/scsi/libiscsi.h b/include/scsi/libiscsi.h
index eea33f7b1544..3f631b08a1ab 100644
--- a/include/scsi/libiscsi.h
+++ b/include/scsi/libiscsi.h
@@ -228,8 +228,9 @@ struct iscsi_session {
228 char *password_in; 228 char *password_in;
229 char *targetname; 229 char *targetname;
230 char *initiatorname; 230 char *initiatorname;
231 /* hw address being used for iscsi connection */ 231 /* hw address or netdev iscsi connection is bound to */
232 char *hwaddress; 232 char *hwaddress;
233 char *netdev;
233 /* control data */ 234 /* control data */
234 struct iscsi_transport *tt; 235 struct iscsi_transport *tt;
235 struct Scsi_Host *host; 236 struct Scsi_Host *host;