Libiscsi: Adding transport layer into all library utilities

lib/init: initializing connection transport

lib/socket: Adding function to initialize tcp transport.
            future commits will include adding iSER transport layer,
            so each transport option will has it's own template of functions.

all_utils: All utils stay the same, in future iSER commits in case of
	   iSER transport we will override tcp_transport in
	   iscsi_context.

connect: adding transport initialization when creating context

include/iscsi-private: Adding iscsi_transport attribute in iscsi_context

Signed-off-by: Roy Shterman <roysh@mellanox.com>

Make iscsi_init_tcp_transport private

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
This commit is contained in:
Roy Shterman
2016-05-27 18:47:14 +03:00
committed by Ronnie Sahlberg
parent e26f6fe51a
commit 9378a39ddc
6 changed files with 82 additions and 2 deletions

View File

@@ -66,7 +66,21 @@ void iscsi_free_iscsi_inqueue(struct iscsi_context *iscsi, struct iscsi_in_pdu *
/* max length of chap challange */
#define MAX_CHAP_C_LENGTH 2048
struct iscsi_transport {
int temp;
};
struct tcp_transport {
struct iscsi_transport t;
};
struct iscsi_context {
struct iscsi_transport *t;
enum iscsi_transport_type transport;
char initiator_name[MAX_STRING_SIZE+1];
char target_name[MAX_STRING_SIZE+1];
char target_address[MAX_STRING_SIZE+1]; /* If a redirect */
@@ -372,6 +386,8 @@ void iscsi_timeout_scan(struct iscsi_context *iscsi);
void iscsi_reconnect_cb(struct iscsi_context *iscsi _U_, int status,
void *command_data, void *private_data);
void iscsi_init_tcp_transport(struct iscsi_context *iscsi);
#ifdef __cplusplus
}
#endif