Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Functions | Variables
be_iscsi.c File Reference
#include <scsi/libiscsi.h>
#include <scsi/scsi_transport_iscsi.h>
#include <scsi/scsi_transport.h>
#include <scsi/scsi_cmnd.h>
#include <scsi/scsi_device.h>
#include <scsi/scsi_host.h>
#include <scsi/scsi_netlink.h>
#include <net/netlink.h>
#include <scsi/scsi.h>
#include "be_iscsi.h"

Go to the source code of this file.

Functions

struct iscsi_cls_sessionbeiscsi_session_create (struct iscsi_endpoint *ep, u16 cmds_max, u16 qdepth, u32 initial_cmdsn)
 
void beiscsi_session_destroy (struct iscsi_cls_session *cls_session)
 
struct iscsi_cls_connbeiscsi_conn_create (struct iscsi_cls_session *cls_session, u32 cid)
 
int beiscsi_conn_bind (struct iscsi_cls_session *cls_session, struct iscsi_cls_conn *cls_conn, u64 transport_fd, int is_leading)
 
void beiscsi_create_def_ifaces (struct beiscsi_hba *phba)
 
void beiscsi_destroy_def_ifaces (struct beiscsi_hba *phba)
 
int be2iscsi_iface_set_param (struct Scsi_Host *shost, void *data, uint32_t dt_len)
 
int be2iscsi_iface_get_param (struct iscsi_iface *iface, enum iscsi_param_type param_type, int param, char *buf)
 
int beiscsi_ep_get_param (struct iscsi_endpoint *ep, enum iscsi_param param, char *buf)
 
int beiscsi_set_param (struct iscsi_cls_conn *cls_conn, enum iscsi_param param, char *buf, int buflen)
 
int beiscsi_get_host_param (struct Scsi_Host *shost, enum iscsi_host_param param, char *buf)
 
int beiscsi_get_macaddr (char *buf, struct beiscsi_hba *phba)
 
void beiscsi_conn_get_stats (struct iscsi_cls_conn *cls_conn, struct iscsi_stats *stats)
 
int beiscsi_conn_start (struct iscsi_cls_conn *cls_conn)
 
struct iscsi_endpointbeiscsi_ep_connect (struct Scsi_Host *shost, struct sockaddr *dst_addr, int non_blocking)
 
int beiscsi_ep_poll (struct iscsi_endpoint *ep, int timeout_ms)
 
void beiscsi_ep_disconnect (struct iscsi_endpoint *ep)
 
umode_t be2iscsi_attr_is_visible (int param_type, int param)
 

Variables

struct iscsi_transport beiscsi_iscsi_transport
 

Function Documentation

umode_t be2iscsi_attr_is_visible ( int  param_type,
int  param 
)

Definition at line 1296 of file be_iscsi.c.

int be2iscsi_iface_get_param ( struct iscsi_iface iface,
enum iscsi_param_type  param_type,
int  param,
char buf 
)

Definition at line 569 of file be_iscsi.c.

int be2iscsi_iface_set_param ( struct Scsi_Host shost,
void data,
uint32_t  dt_len 
)

Definition at line 459 of file be_iscsi.c.

int beiscsi_conn_bind ( struct iscsi_cls_session cls_session,
struct iscsi_cls_conn cls_conn,
u64  transport_fd,
int  is_leading 
)

beiscsi_conn_bind - Binds iscsi session/connection with TCP connection : pointer to iscsi cls session : pointer to iscsi cls conn : EP handle(64 bit)

This function binds the TCP Conn with iSCSI Connection and Session.

Definition at line 187 of file be_iscsi.c.

struct iscsi_cls_conn* beiscsi_conn_create ( struct iscsi_cls_session cls_session,
u32  cid 
)
read

beiscsi_conn_create - create an instance of iscsi connection : ptr to iscsi_cls_session : iscsi cid

Definition at line 122 of file be_iscsi.c.

void beiscsi_conn_get_stats ( struct iscsi_cls_conn cls_conn,
struct iscsi_stats stats 
)

beiscsi_conn_get_stats - get the iscsi stats : pointer to iscsi cls conn : pointer to iscsi_stats structure

returns iscsi stats

Definition at line 886 of file be_iscsi.c.

int beiscsi_conn_start ( struct iscsi_cls_conn cls_conn)

beiscsi_conn_start - offload of session to chip : pointer to beiscsi_conn

Definition at line 948 of file be_iscsi.c.

void beiscsi_create_def_ifaces ( struct beiscsi_hba phba)

Definition at line 264 of file be_iscsi.c.

void beiscsi_destroy_def_ifaces ( struct beiscsi_hba phba)

Definition at line 275 of file be_iscsi.c.

struct iscsi_endpoint* beiscsi_ep_connect ( struct Scsi_Host shost,
struct sockaddr dst_addr,
int  non_blocking 
)
read

beiscsi_ep_connect - Ask chip to create TCP Conn : Pointer to scsi_host structure : The IP address of Target : blocking or non-blocking call

This routines first asks chip to create a connection and then allocates an EP

Definition at line 1134 of file be_iscsi.c.

void beiscsi_ep_disconnect ( struct iscsi_endpoint ep)

beiscsi_ep_disconnect - Tears down the TCP connection : endpoint to be used

Tears down the TCP connection

Definition at line 1251 of file be_iscsi.c.

int beiscsi_ep_get_param ( struct iscsi_endpoint ep,
enum iscsi_param  param,
char buf 
)

beiscsi_ep_get_param - get the iscsi parameter : pointer to iscsi ep

Parameters
parameter type identifier : buffer pointer

returns iscsi parameter

Definition at line 612 of file be_iscsi.c.

int beiscsi_ep_poll ( struct iscsi_endpoint ep,
int  timeout_ms 
)

beiscsi_ep_poll - Poll to see if connection is established : endpoint to be used : timeout specified in millisecs

Poll to see if TCP connection established

Definition at line 1188 of file be_iscsi.c.

int beiscsi_get_host_param ( struct Scsi_Host shost,
enum iscsi_host_param  param,
char buf 
)

beiscsi_get_host_param - get the iscsi parameter : pointer to scsi_host structure

Parameters
parameter type identifier : buffer pointer

returns host parameter

Definition at line 816 of file be_iscsi.c.

int beiscsi_get_macaddr ( char buf,
struct beiscsi_hba phba 
)

Definition at line 862 of file be_iscsi.c.

struct iscsi_cls_session* beiscsi_session_create ( struct iscsi_endpoint ep,
u16  cmds_max,
u16  qdepth,
u32  initial_cmdsn 
)
read

beiscsi_session_create - creates a new iscsi session : max commands supported : max queue depth supported : initial iscsi CMDSN

Definition at line 40 of file be_iscsi.c.

void beiscsi_session_destroy ( struct iscsi_cls_session cls_session)

beiscsi_session_destroy - destroys iscsi session : pointer to iscsi cls session

Destroys iSCSI session instance and releases resources allocated for it.

Definition at line 106 of file be_iscsi.c.

int beiscsi_set_param ( struct iscsi_cls_conn cls_conn,
enum iscsi_param  param,
char buf,
int  buflen 
)

Definition at line 639 of file be_iscsi.c.

Variable Documentation

struct iscsi_transport beiscsi_iscsi_transport

Copyright (C) 2005 - 2011 Emulex All rights reserved.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. The full GNU General Public License is included in this distribution in the file called COPYING.

Written by: Jayamohan Kallickal (jayam.nosp@m.ohan.nosp@m..kall.nosp@m.icka.nosp@m.l@emu.nosp@m.lex..nosp@m.com)

Contact Information: linux.nosp@m.-dri.nosp@m.vers@.nosp@m.emul.nosp@m.ex.co.nosp@m.m

Emulex 3333 Susan Street Costa Mesa, CA 92626

Definition at line 4680 of file be_main.c.