Linux Kernel
3.7.1
|
#include <linux/timer.h>
#include <linux/if.h>
#include <linux/percpu.h>
#include <scsi/scsi_transport.h>
#include <scsi/scsi_transport_fc.h>
#include <scsi/scsi_bsg_fc.h>
#include <scsi/fc/fc_fcp.h>
#include <scsi/fc/fc_ns.h>
#include <scsi/fc/fc_ms.h>
#include <scsi/fc/fc_els.h>
#include <scsi/fc/fc_gs.h>
#include <scsi/fc_frame.h>
Go to the source code of this file.
Data Structures | |
struct | fc_disc_port |
struct | fc_rport_operations |
struct | fc_rport_libfc_priv |
struct | fc_rport_priv |
struct | fc_stats |
struct | fc_seq_els_data |
struct | fc_fcp_pkt |
struct | fc_seq |
struct | fc_exch |
struct | libfc_function_template |
struct | fc_disc |
struct | fc_lport |
struct | fc4_prov |
Macros | |
#define | FC_FC4_PROV_SIZE (FC_TYPE_FCP + 1) /* size of tables */ |
#define | FC_NO_ERR 0 /* no error */ |
#define | FC_EX_TIMEOUT 1 /* Exchange timeout */ |
#define | FC_EX_CLOSED 2 /* Exchange closed */ |
#define | FC_RP_FLAGS_REC_SUPPORTED (1 << 0) |
#define | FC_RP_FLAGS_RETRY (1 << 1) |
#define | FC_RP_STARTED (1 << 2) |
#define | FC_RP_FLAGS_CONF_REQ (1 << 3) |
#define | FC_EX_DONE (1 << 0) /* ep is completed */ |
#define | FC_EX_RST_CLEANUP (1 << 1) /* reset is forcing completion */ |
#define | fc_seq_exch(sp) container_of(sp, struct fc_exch, seq) |
Variables | |
struct fc_fcp_pkt | ____cacheline_aligned_in_smp |
u16 | fc_cpu_mask |
struct blocking_notifier_head | fc_lport_notifier_head |
#define FC_EX_RST_CLEANUP (1 << 1) /* reset is forcing completion */ |
#define FC_FC4_PROV_SIZE (FC_TYPE_FCP + 1) /* size of tables */ |
enum fc_disc_event |
enum fc_lport_event |
enum fc_lport_state |
enum fc_lport_state - Local port states : Disabled : Fabric login (FLOGI) sent : Waiting for name server remote port to become ready : Register port name by ID (RPN_ID) sent : Register Fibre Channel types by ID (RFT_ID) sent : Register FC-4 Features by ID (RFF_ID) sent : Waiting for mgmt server rport to become ready : : State Change Register (SCR) sent : Ready for use : Local port logout (LOGO) sent : Local port reset
enum fc_rport_event |
enum fc_rport_event - Remote port events : No event : Remote port is ready for use : State machine failed, remote port is not ready : Remote port has been stopped : Remote port logout (LOGO) sent
enum fc_rport_state |
enum fc_rport_state - Remote port states : Initialized : Waiting for FLOGI completion for point-to-multipoint : Waiting for peer to login for point-to-multipoint : Waiting for PLOGI completion : Waiting for PRLI completion : Waiting for RTV completion : Ready for use : Discover Address sent : Remote port being deleted
__fc_linkdown() - Handler for transport linkdown events : The lport whose link is down
Locking: must be called with the lp_mutex held
Definition at line 590 of file fc_lport.c.
__fc_linkup() - Handler for transport linkup events : The lport whose link is up
Locking: must be called with the lp_mutex held
Definition at line 559 of file fc_lport.c.
int fc_change_queue_depth | ( | struct scsi_device * | sdev, |
int | qdepth, | ||
int | reason | ||
) |
int fc_change_queue_type | ( | struct scsi_device * | sdev, |
int | tag_type | ||
) |
fc_eh_device_reset() - Reset a single LUN : The SCSI command which identifies the device whose LUN is to be reset
Set from SCSI host template.
fc_elsct_init() - Initialize the ELS/CT layer : The local port to initialize the ELS/CT layer for
Definition at line 78 of file fc_elsct.c.
|
read |
|
read |
void fc_exch_mgr_del | ( | struct fc_exch_mgr_anchor * | ema | ) |
fc_exch_mgr_del() - Delete an EM from a local port's list : The exchange manager anchor identifying the EM to be deleted
fc_exch_mgr_free() - Free all exchange managers on a local port : The local port whose EMs are to be freed
fc_exch_mgr_list_clone() - Share all exchange manager objects : Source lport to clone exchange managers from : New lport that takes references to all the exchange managers
fc_exch_mgr_reset() - Reset all EMs of a local port : The local port whose EMs are to be reset : The source ID : The destination ID
Reset all EMs associated with a given local port. Release all sequences and exchanges. If sid is non-zero then reset only the exchanges sent from the local port's FID. If did is non-zero then reset only exchanges destined for the local port's FID.
fc_exch_update_stats() - update exches stats to lport : The local port to update exchange manager stats
fc_fabric_login() - Start the lport state machine : The local port that should log into the fabric
Locking Note: This function should not be called with the lport lock held.
Definition at line 536 of file fc_lport.c.
fc_fabric_logoff() - Logout of the fabric : The local port to logoff the fabric
Return value: 0 for success, -1 for failure
Definition at line 621 of file fc_lport.c.
void fc_fc4_deregister_provider | ( | enum fc_fh_type | type, |
struct fc4_prov * | prov | ||
) |
fc_fc4_deregister_provider() - deregister FC-4 upper-level provider. : FC-4 type, such as FC_TYPE_FCP : structure describing provider including ops vector.
Definition at line 294 of file fc_libfc.c.
int fc_fc4_register_provider | ( | enum fc_fh_type | type, |
struct fc4_prov * | prov | ||
) |
fc_fc4_register_provider() - register FC-4 upper-level provider. : FC-4 type, such as FC_TYPE_FCP : structure describing provider including ops vector.
Returns 0 on success, negative error otherwise.
Definition at line 271 of file fc_libfc.c.
void fc_fill_hdr | ( | struct fc_frame * | fp, |
const struct fc_frame * | in_fp, | ||
enum fc_rctl | r_ctl, | ||
u32 | f_ctl, | ||
u16 | seq_cnt, | ||
u32 | parm_offset | ||
) |
fc_fill_hdr() - fill FC header fields based on request : reply frame containing header to be filled in : request frame containing header to use in filling in reply : R_CTL value for header : F_CTL value for header, with 0 pad : sequence count for the header, ignored if frame has a sequence : parameter / offset value
Definition at line 166 of file fc_libfc.c.
void fc_fill_reply_hdr | ( | struct fc_frame * | fp, |
const struct fc_frame * | in_fp, | ||
enum fc_rctl | r_ctl, | ||
u32 | parm_offset | ||
) |
fc_fill_reply_hdr() - fill FC reply header fields based on request : reply frame containing header to be filled in : request frame containing header to use in filling in reply : R_CTL value for reply : parameter / offset value
Definition at line 222 of file fc_libfc.c.
fc_get_host_port_state() - Return the port state of the given Scsi_Host : The SCSI host whose port state is to be determined
Definition at line 265 of file fc_lport.c.
fc_get_host_speed() - Return the speed of the given Scsi_Host : The SCSI host whose port speed is to be determined
Definition at line 288 of file fc_lport.c.
|
read |
fc_get_host_stats() - Return the Scsi_Host's statistics : The SCSI host whose statistics are to be returned
Definition at line 300 of file fc_lport.c.
fc_linkdown() - Handler for transport linkdown events : The local port whose link is down
Definition at line 603 of file fc_lport.c.
fc_linkup() - Handler for transport linkup events : The local port whose link is up
Definition at line 573 of file fc_lport.c.
int fc_lport_bsg_request | ( | struct fc_bsg_job * | job | ) |
fc_lport_bsg_request() - The common entry point for sending FC Passthrough requests : The BSG passthrough job
Definition at line 2085 of file fc_lport.c.
fc_lport_config() - Configure a fc_lport : The local port to be configured
Definition at line 1843 of file fc_lport.c.
fc_lport_destroy() - Unregister a fc_lport : The local port to unregister
Note: exit routine for fc_lport instance clean-up all the allocated memory and free up other system resources.
Definition at line 647 of file fc_lport.c.
fc_lport_flogi_resp() - Handle response to FLOGI request : The sequence that the FLOGI was on : The FLOGI response frame : The lport port that received the FLOGI response
Locking Note: This function will be called without the lport lock held, but it will lock, call an enter* function or fc_lport_error() and then unlock the lport.
Definition at line 1704 of file fc_lport.c.
fc_lport_init() - Initialize the lport layer for a local port : The local port to initialize the exchange layer for
Definition at line 1862 of file fc_lport.c.
Definition at line 253 of file fc_libfc.c.
fc_lport_logo_resp() - Handle response to LOGO request : The sequence that the LOGO was on : The LOGO frame : The lport port that received the LOGO request
Locking Note: This function will be called without the lport lock held, but it will lock, call an enter* function or fc_lport_error() and then unlock the lport.
Definition at line 1625 of file fc_lport.c.
fc_lport_reset() - Reset a local port : The local port which should be reset
Locking Note: This functions should not be called with the lport lock held.
Definition at line 994 of file fc_lport.c.
fc_lport_set_port_id() - set the local port Port ID for point-to-multipoint : The local port which will have its Port ID set. : The new port ID.
Called by the lower-level driver when transport sets the local port_id. This is used in VN_port to VN_port mode for FCoE, and causes FLOGI and discovery to be skipped.
Definition at line 777 of file fc_lport.c.
fc_rport_init() - Initialize the remote port layer for a local port : The local port to initialize the remote port layer for
Definition at line 1911 of file fc_rport.c.
fc_rport_terminate_io() - Stop all outstanding I/O on a remote port : The remote port whose I/O should be terminated
Definition at line 2034 of file fc_rport.c.
fc_set_mfs() - Set the maximum frame size for a local port : The local port to set the MFS for : The new MFS
Definition at line 669 of file fc_lport.c.
fc_set_rport_loss_tmo() - Set the remote port loss timeout : The remote port that gets a new timeout value : The new timeout value (in seconds)
Definition at line 187 of file fc_rport.c.
int fc_slave_alloc | ( | struct scsi_device * | sdev | ) |
fc_vport_id_lookup() - find NPIV lport that matches a given fabric ID : Top level N_Port which may have multiple NPIV VN_Ports : Fabric ID to find a match for
Returns: matching lport pointer or NULL if there is no match
fc_vport_setlink() - update link and status on a VN_Port : virtual port to update
fc_vports_linkchange() - change the link state of all vports : Parent N_Port that has changed state
Locking: called with the n_port lp_mutex held
struct blocking_notifier_head fc_lport_notifier_head |
Definition at line 41 of file fc_libfc.c.