iPXE
Data Fields
iscsi_session Struct Reference

An iSCSI session. More...

#include <iscsi.h>

Data Fields

struct refcnt refcnt
 Reference counter.
struct interface control
 SCSI command-issuing interface.
struct interface data
 SCSI command interface.
struct interface socket
 Transport-layer socket.
char * initiator_iqn
 Initiator IQN.
char * target_address
 Target address.
unsigned int target_port
 Target port.
char * target_iqn
 Target IQN.
int status
 Session status.
char * initiator_username
 Initiator username (if any)
char * initiator_password
 Initiator password (if any)
char * target_username
 Target username (if any)
char * target_password
 Target password (if any)
unsigned char chap_challenge [17]
 CHAP challenge (for target auth only)
struct chap_response chap
 CHAP response (used for both initiator and target auth)
uint16_t isid_iana_qual
 Initiator session ID (IANA format) qualifier.
uint32_t itt
 Initiator task tag.
uint32_t ttt
 Target transfer tag.
uint32_t transfer_offset
 Transfer offset.
uint32_t transfer_len
 Transfer length.
uint32_t cmdsn
 Command sequence number.
uint32_t statsn
 Status sequence number.
union iscsi_bhs tx_bhs
 Basic header segment for current TX PDU.
enum iscsi_tx_state tx_state
 State of the TX engine.
struct process process
 TX process.
union iscsi_bhs rx_bhs
 Basic header segment for current RX PDU.
enum iscsi_rx_state rx_state
 State of the RX engine.
size_t rx_offset
 Byte offset within the current RX state.
size_t rx_len
 Length of the current RX state.
void * rx_buffer
 Buffer for received data (not always used)
struct scsi_cmdcommand
 Current SCSI command, if any.
struct sockaddr target_sockaddr
 Target socket address (for boot firmware table)
struct scsi_lun lun
 SCSI LUN (for boot firmware table)
struct acpi_descriptor desc
 ACPI descriptor.

Detailed Description

An iSCSI session.

Definition at line 535 of file iscsi.h.


Field Documentation

Reference counter.

Definition at line 537 of file iscsi.h.

Referenced by iscsi_open().

SCSI command-issuing interface.

Definition at line 540 of file iscsi.h.

Referenced by iscsi_close(), iscsi_open(), and iscsi_rx_login_response().

SCSI command interface.

Definition at line 542 of file iscsi.h.

Referenced by iscsi_close(), iscsi_command_close(), iscsi_open(), iscsi_scsi_command(), and iscsi_scsi_done().

Initiator IQN.

Definition at line 547 of file iscsi.h.

Referenced by ibft_install(), iscsi_build_login_request_strings(), iscsi_fetch_settings(), iscsi_free(), and iscsi_open().

Target port.

Definition at line 551 of file iscsi.h.

Referenced by iscsi_handle_targetaddress_value(), iscsi_open_connection(), and iscsi_parse_root_path().

Target password (if any)

Definition at line 569 of file iscsi.h.

Referenced by ibft_fill_target_reverse_chap(), iscsi_check_auth(), iscsi_fetch_settings(), iscsi_free(), and iscsi_handle_chap_r_value().

unsigned char iscsi_session::chap_challenge[17]

CHAP challenge (for target auth only)

This is a block of random data; the first byte is used as the CHAP identifier (CHAP_I) and the remainder as the CHAP challenge (CHAP_C).

Definition at line 576 of file iscsi.h.

Referenced by iscsi_build_login_request_strings(), iscsi_handle_chap_c_value(), and iscsi_handle_chap_r_value().

Initiator session ID (IANA format) qualifier.

This is part of the ISID. It is generated randomly whenever a new connection is opened.

Definition at line 585 of file iscsi.h.

Referenced by iscsi_open_connection(), and iscsi_start_login().

Initiator task tag.

This is the tag of the current command. It is incremented whenever a new command is started.

Definition at line 591 of file iscsi.h.

Referenced by iscsi_new_itt(), iscsi_scsi_command(), iscsi_scsi_done(), iscsi_start_command(), iscsi_start_data_out(), and iscsi_start_login().

Target transfer tag.

This is the tag attached to a sequence of data-out PDUs in response to an R2T.

Definition at line 597 of file iscsi.h.

Referenced by iscsi_rx_r2t(), and iscsi_start_data_out().

Transfer offset.

This is the offset for an in-progress sequence of data-out PDUs in response to an R2T.

Definition at line 603 of file iscsi.h.

Referenced by iscsi_rx_r2t(), and iscsi_start_data_out().

Transfer length.

This is the length for an in-progress sequence of data-out PDUs in response to an R2T.

Definition at line 609 of file iscsi.h.

Referenced by iscsi_rx_r2t(), and iscsi_start_data_out().

Command sequence number.

This is the sequence number of the current command, used to fill out the CmdSN field in iSCSI request PDUs. It is updated with the value of the ExpCmdSN field whenever we receive an iSCSI response PDU containing such a field.

Definition at line 617 of file iscsi.h.

Referenced by iscsi_rx_data(), iscsi_start_command(), and iscsi_start_login().

Status sequence number.

This is the most recent status sequence number present in the StatSN field of an iSCSI response PDU containing such a field. Whenever we send an iSCSI request PDU, we fill out the ExpStatSN field with this value plus one.

Definition at line 625 of file iscsi.h.

Referenced by iscsi_rx_data(), iscsi_start_command(), iscsi_start_data_out(), and iscsi_start_login().

State of the TX engine.

Definition at line 630 of file iscsi.h.

Referenced by iscsi_close_connection(), iscsi_open_connection(), iscsi_scsi_done(), iscsi_start_tx(), and iscsi_tx_step().

TX process.

Definition at line 632 of file iscsi.h.

Referenced by iscsi_close(), iscsi_open(), iscsi_tx_pause(), and iscsi_tx_resume().

Basic header segment for current RX PDU.

Definition at line 635 of file iscsi.h.

Referenced by iscsi_rx_bhs(), iscsi_rx_data(), iscsi_rx_data_in(), iscsi_rx_login_response(), iscsi_rx_nop_in(), iscsi_rx_r2t(), iscsi_rx_scsi_response(), and iscsi_socket_deliver().

State of the RX engine.

Definition at line 637 of file iscsi.h.

Referenced by iscsi_close_connection(), iscsi_open_connection(), and iscsi_socket_deliver().

Byte offset within the current RX state.

Definition at line 639 of file iscsi.h.

Referenced by iscsi_close_connection(), iscsi_open_connection(), iscsi_rx_bhs(), iscsi_rx_buffered_data(), iscsi_rx_data_in(), and iscsi_socket_deliver().

Length of the current RX state.

Definition at line 641 of file iscsi.h.

Referenced by iscsi_rx_buffered_data(), iscsi_rx_login_response(), and iscsi_socket_deliver().

Buffer for received data (not always used)

Definition at line 643 of file iscsi.h.

Referenced by iscsi_rx_buffered_data(), iscsi_rx_buffered_data_done(), iscsi_rx_login_response(), and iscsi_rx_scsi_response().

Target socket address (for boot firmware table)

Definition at line 649 of file iscsi.h.

Referenced by ibft_complete(), ibft_fill_target(), ibft_fill_target_nic_association(), ibft_netdev_is_required(), and iscsi_vredirect().

SCSI LUN (for boot firmware table)

Definition at line 651 of file iscsi.h.

Referenced by ibft_fill_target(), iscsi_open(), and iscsi_parse_root_path().

ACPI descriptor.

Definition at line 653 of file iscsi.h.

Referenced by iscsi_describe(), and iscsi_open().


The documentation for this struct was generated from the following file: