iPXE
Data Structures | Macros | Enumerations | Functions
iscsi.h File Reference

iSCSI protocol More...

#include <stdint.h>
#include <ipxe/socket.h>
#include <ipxe/scsi.h>
#include <ipxe/chap.h>
#include <ipxe/refcnt.h>
#include <ipxe/xfer.h>
#include <ipxe/process.h>
#include <ipxe/acpi.h>
#include <ipxe/settings.h>

Go to the source code of this file.

Data Structures

union  iscsi_segment_lengths
 iSCSI segment lengths More...
 
struct  iscsi_bhs_common
 iSCSI basic header segment common fields More...
 
struct  iscsi_bhs_common_response
 iSCSI basic header segment common request fields More...
 
struct  iscsi_bhs_login_request
 iSCSI login request basic header segment More...
 
struct  iscsi_bhs_login_response
 iSCSI login response basic header segment More...
 
struct  iscsi_bhs_scsi_command
 iSCSI SCSI command basic header segment More...
 
struct  iscsi_bhs_scsi_response
 iSCSI SCSI response basic header segment More...
 
struct  iscsi_bhs_data_in
 iSCSI data-in basic header segment More...
 
struct  iscsi_bhs_data_out
 iSCSI data-out basic header segment More...
 
struct  iscsi_bhs_r2t
 iSCSI request to transfer basic header segment More...
 
struct  iscsi_nop_in
 iSCSI NOP-In basic header segment More...
 
union  iscsi_bhs
 An iSCSI basic header segment. More...
 
struct  iscsi_session
 An iSCSI session. More...
 

Macros

#define ISCSI_PORT   3260
 Default iSCSI port. More...
 
#define ISCSI_FIRST_BURST_LEN   65536
 Default iSCSI first burst length. More...
 
#define ISCSI_MAX_BURST_LEN   262144
 Default iSCSI maximum burst length. More...
 
#define ISCSI_MAX_RECV_DATA_SEG_LEN   8192
 Default iSCSI maximum receive data segment length. More...
 
#define ISCSI_AHS_LEN(segment_lengths)   ( (segment_lengths).bytes.ahs_len )
 The length of the additional header segment, in dwords. More...
 
#define ISCSI_DATA_LEN(segment_lengths)   ( ntohl ( (segment_lengths).ahs_and_data_len ) & 0xffffff )
 The length of the data segment, in bytes, excluding any padding. More...
 
#define ISCSI_DATA_PAD_LEN(segment_lengths)   ( ( 0 - (segment_lengths).bytes.data_len[2] ) & 0x03 )
 The padding of the data segment, in bytes. More...
 
#define ISCSI_SET_LENGTHS(segment_lengths, ahs_len, data_len)
 Set additional header and data segment lengths. More...
 
#define ISCSI_OPCODE_MASK   0x3f
 Opcode mask. More...
 
#define ISCSI_FLAG_IMMEDIATE   0x40
 Immediate delivery. More...
 
#define ISCSI_FLAG_FINAL   0x80
 Final PDU of a sequence. More...
 
#define ISCSI_TAG_MAGIC   0x18ae0000
 iSCSI tag magic marker More...
 
#define ISCSI_TAG_RESERVED   0xffffffff
 iSCSI reserved tag value More...
 
#define ISCSI_OPCODE_LOGIN_REQUEST   0x03
 Login request opcode. More...
 
#define ISCSI_LOGIN_FLAG_TRANSITION   0x80
 Willingness to transition to next stage. More...
 
#define ISCSI_LOGIN_FLAG_CONTINUE   0x40
 Key=value pairs continued in subsequent request. More...
 
#define ISCSI_LOGIN_CSG_MASK   0x0c
 
#define ISCSI_LOGIN_CSG_SECURITY_NEGOTIATION   0x00
 
#define ISCSI_LOGIN_CSG_OPERATIONAL_NEGOTIATION   0x04
 
#define ISCSI_LOGIN_CSG_FULL_FEATURE_PHASE   0x0c
 
#define ISCSI_LOGIN_NSG_MASK   0x03
 
#define ISCSI_LOGIN_NSG_SECURITY_NEGOTIATION   0x00
 
#define ISCSI_LOGIN_NSG_OPERATIONAL_NEGOTIATION   0x01
 
#define ISCSI_LOGIN_NSG_FULL_FEATURE_PHASE   0x03
 
#define ISCSI_ISID_IANA   0x40000000
 ISID IANA format marker. More...
 
#define IANA_EN_FEN_SYSTEMS   10019
 Fen Systems Ltd. More...
 
#define ISCSI_OPCODE_LOGIN_RESPONSE   0x23
 Login response opcode. More...
 
#define ISCSI_STATUS_SUCCESS   0x00
 
#define ISCSI_STATUS_REDIRECT   0x01
 
#define ISCSI_STATUS_INITIATOR_ERROR   0x02
 
#define ISCSI_STATUS_INITIATOR_ERROR_AUTHENTICATION   0x01
 
#define ISCSI_STATUS_INITIATOR_ERROR_AUTHORISATION   0x02
 
#define ISCSI_STATUS_INITIATOR_ERROR_NOT_FOUND   0x03
 
#define ISCSI_STATUS_INITIATOR_ERROR_REMOVED   0x04
 
#define ISCSI_STATUS_TARGET_ERROR   0x03
 
#define ISCSI_STATUS_TARGET_ERROR_UNAVAILABLE   0x01
 
#define ISCSI_STATUS_TARGET_ERROR_NO_RESOURCES   0x02
 
#define ISCSI_OPCODE_SCSI_COMMAND   0x01
 SCSI command opcode. More...
 
#define ISCSI_COMMAND_FLAG_READ   0x40
 Command will read data. More...
 
#define ISCSI_COMMAND_FLAG_WRITE   0x20
 Command will write data. More...
 
#define ISCSI_COMMAND_ATTR_UNTAGGED   0x00
 
#define ISCSI_COMMAND_ATTR_SIMPLE   0x01
 
#define ISCSI_COMMAND_ATTR_ORDERED   0x02
 
#define ISCSI_COMMAND_ATTR_HEAD_OF_QUEUE   0x03
 
#define ISCSI_COMMAND_ATTR_ACA   0x04
 
#define ISCSI_OPCODE_SCSI_RESPONSE   0x21
 SCSI response opcode. More...
 
#define ISCSI_RESPONSE_COMMAND_COMPLETE   0x00
 SCSI command completed at target. More...
 
#define ISCSI_RESPONSE_TARGET_FAILURE   0x01
 SCSI target failure. More...
 
#define ISCSI_RESPONSE_FLAG_OVERFLOW   0x20
 Data overflow occurred. More...
 
#define ISCSI_RESPONSE_FLAG_UNDERFLOW   0x40
 Data underflow occurred. More...
 
#define ISCSI_OPCODE_DATA_IN   0x25
 Data-in opcode. More...
 
#define ISCSI_DATA_FLAG_ACKNOWLEDGE   0x40
 Data requires acknowledgement. More...
 
#define ISCSI_DATA_FLAG_OVERFLOW   0x04
 Data overflow occurred. More...
 
#define ISCSI_DATA_FLAG_UNDERFLOW   0x02
 Data underflow occurred. More...
 
#define ISCSI_DATA_FLAG_STATUS   0x01
 SCSI status code and overflow/underflow flags are valid. More...
 
#define ISCSI_OPCODE_DATA_OUT   0x05
 Data-out opcode. More...
 
#define ISCSI_OPCODE_R2T   0x31
 R2T opcode. More...
 
#define ISCSI_OPCODE_NOP_IN   0x20
 NOP-In opcode. More...
 
#define ISCSI_STATUS_SECURITY_NEGOTIATION_PHASE
 iSCSI session is currently in the security negotiation phase More...
 
#define ISCSI_STATUS_OPERATIONAL_NEGOTIATION_PHASE
 iSCSI session is currently in the operational parameter negotiation phase More...
 
#define ISCSI_STATUS_FULL_FEATURE_PHASE   ISCSI_LOGIN_CSG_FULL_FEATURE_PHASE
 iSCSI session is currently in the full feature phase More...
 
#define ISCSI_STATUS_PHASE_MASK   ( ISCSI_LOGIN_CSG_MASK | ISCSI_LOGIN_NSG_MASK )
 Mask for all iSCSI session phases. More...
 
#define ISCSI_STATUS_STRINGS_SECURITY   0x0100
 iSCSI session needs to send the initial security negotiation strings More...
 
#define ISCSI_STATUS_STRINGS_CHAP_ALGORITHM   0x0200
 iSCSI session needs to send the CHAP_A string More...
 
#define ISCSI_STATUS_STRINGS_CHAP_RESPONSE   0x0400
 iSCSI session needs to send the CHAP response More...
 
#define ISCSI_STATUS_STRINGS_CHAP_CHALLENGE   0x0800
 iSCSI session needs to send the mutual CHAP challenge More...
 
#define ISCSI_STATUS_STRINGS_OPERATIONAL   0x1000
 iSCSI session needs to send the operational negotiation strings More...
 
#define ISCSI_STATUS_STRINGS_MASK   0xff00
 Mask for all iSCSI "needs to send" flags. More...
 
#define ISCSI_STATUS_AUTH_FORWARD_REQUIRED   0x00010000
 Target has requested forward (initiator) authentication. More...
 
#define ISCSI_STATUS_AUTH_REVERSE_REQUIRED   0x00020000
 Initiator requires target (reverse) authentication. More...
 
#define ISCSI_STATUS_AUTH_REVERSE_OK   0x00040000
 Target authenticated itself correctly. More...
 
#define ISCSI_DEFAULT_IQN_PREFIX   "iqn.2010-04.org.ipxe"
 Default initiator IQN prefix. More...
 

Enumerations

enum  iscsi_tx_state { ISCSI_TX_IDLE = 0, ISCSI_TX_BHS, ISCSI_TX_AHS, ISCSI_TX_DATA }
 State of an iSCSI TX engine. More...
 
enum  iscsi_rx_state { ISCSI_RX_BHS = 0, ISCSI_RX_AHS, ISCSI_RX_DATA, ISCSI_RX_DATA_PADDING }
 State of an iSCSI RX engine. More...
 

Functions

 FILE_LICENCE (GPL2_OR_LATER_OR_UBDL)
 
const struct setting initiator_iqn_setting __setting (SETTING_SANBOOT_EXTRA, initiator-iqn)
 

Detailed Description

iSCSI protocol

Definition in file iscsi.h.

Macro Definition Documentation

◆ ISCSI_PORT

#define ISCSI_PORT   3260

Default iSCSI port.

Definition at line 23 of file iscsi.h.

◆ ISCSI_FIRST_BURST_LEN

#define ISCSI_FIRST_BURST_LEN   65536

Default iSCSI first burst length.

Definition at line 26 of file iscsi.h.

◆ ISCSI_MAX_BURST_LEN

#define ISCSI_MAX_BURST_LEN   262144

Default iSCSI maximum burst length.

Definition at line 29 of file iscsi.h.

◆ ISCSI_MAX_RECV_DATA_SEG_LEN

#define ISCSI_MAX_RECV_DATA_SEG_LEN   8192

Default iSCSI maximum receive data segment length.

Definition at line 32 of file iscsi.h.

◆ ISCSI_AHS_LEN

#define ISCSI_AHS_LEN (   segment_lengths)    ( (segment_lengths).bytes.ahs_len )

The length of the additional header segment, in dwords.

Definition at line 57 of file iscsi.h.

◆ ISCSI_DATA_LEN

#define ISCSI_DATA_LEN (   segment_lengths)    ( ntohl ( (segment_lengths).ahs_and_data_len ) & 0xffffff )

The length of the data segment, in bytes, excluding any padding.

Definition at line 61 of file iscsi.h.

◆ ISCSI_DATA_PAD_LEN

#define ISCSI_DATA_PAD_LEN (   segment_lengths)    ( ( 0 - (segment_lengths).bytes.data_len[2] ) & 0x03 )

The padding of the data segment, in bytes.

Definition at line 65 of file iscsi.h.

◆ ISCSI_SET_LENGTHS

#define ISCSI_SET_LENGTHS (   segment_lengths,
  ahs_len,
  data_len 
)
Value:
do { \
(segment_lengths).ahs_and_data_len = \
htonl ( data_len | ( ahs_len << 24 ) ); \
} while ( 0 )
uint32_t data_len
Microcode data size (or 0 to indicate 2000 bytes)
Definition: ucode.h:26
#define htonl(value)
Definition: byteswap.h:133

Set additional header and data segment lengths.

Definition at line 69 of file iscsi.h.

◆ ISCSI_OPCODE_MASK

#define ISCSI_OPCODE_MASK   0x3f

Opcode mask.

Definition at line 96 of file iscsi.h.

◆ ISCSI_FLAG_IMMEDIATE

#define ISCSI_FLAG_IMMEDIATE   0x40

Immediate delivery.

Definition at line 99 of file iscsi.h.

◆ ISCSI_FLAG_FINAL

#define ISCSI_FLAG_FINAL   0x80

Final PDU of a sequence.

Definition at line 102 of file iscsi.h.

◆ ISCSI_TAG_MAGIC

#define ISCSI_TAG_MAGIC   0x18ae0000

iSCSI tag magic marker

Definition at line 105 of file iscsi.h.

◆ ISCSI_TAG_RESERVED

#define ISCSI_TAG_RESERVED   0xffffffff

iSCSI reserved tag value

Definition at line 108 of file iscsi.h.

◆ ISCSI_OPCODE_LOGIN_REQUEST

#define ISCSI_OPCODE_LOGIN_REQUEST   0x03

Login request opcode.

Definition at line 173 of file iscsi.h.

◆ ISCSI_LOGIN_FLAG_TRANSITION

#define ISCSI_LOGIN_FLAG_TRANSITION   0x80

Willingness to transition to next stage.

Definition at line 176 of file iscsi.h.

◆ ISCSI_LOGIN_FLAG_CONTINUE

#define ISCSI_LOGIN_FLAG_CONTINUE   0x40

Key=value pairs continued in subsequent request.

Definition at line 179 of file iscsi.h.

◆ ISCSI_LOGIN_CSG_MASK

#define ISCSI_LOGIN_CSG_MASK   0x0c

Definition at line 182 of file iscsi.h.

◆ ISCSI_LOGIN_CSG_SECURITY_NEGOTIATION

#define ISCSI_LOGIN_CSG_SECURITY_NEGOTIATION   0x00

Definition at line 183 of file iscsi.h.

◆ ISCSI_LOGIN_CSG_OPERATIONAL_NEGOTIATION

#define ISCSI_LOGIN_CSG_OPERATIONAL_NEGOTIATION   0x04

Definition at line 184 of file iscsi.h.

◆ ISCSI_LOGIN_CSG_FULL_FEATURE_PHASE

#define ISCSI_LOGIN_CSG_FULL_FEATURE_PHASE   0x0c

Definition at line 185 of file iscsi.h.

◆ ISCSI_LOGIN_NSG_MASK

#define ISCSI_LOGIN_NSG_MASK   0x03

Definition at line 188 of file iscsi.h.

◆ ISCSI_LOGIN_NSG_SECURITY_NEGOTIATION

#define ISCSI_LOGIN_NSG_SECURITY_NEGOTIATION   0x00

Definition at line 189 of file iscsi.h.

◆ ISCSI_LOGIN_NSG_OPERATIONAL_NEGOTIATION

#define ISCSI_LOGIN_NSG_OPERATIONAL_NEGOTIATION   0x01

Definition at line 190 of file iscsi.h.

◆ ISCSI_LOGIN_NSG_FULL_FEATURE_PHASE

#define ISCSI_LOGIN_NSG_FULL_FEATURE_PHASE   0x03

Definition at line 191 of file iscsi.h.

◆ ISCSI_ISID_IANA

#define ISCSI_ISID_IANA   0x40000000

ISID IANA format marker.

Definition at line 194 of file iscsi.h.

◆ IANA_EN_FEN_SYSTEMS

#define IANA_EN_FEN_SYSTEMS   10019

Fen Systems Ltd.

IANA enterprise number

Permission is hereby granted to use Fen Systems Ltd.'s IANA enterprise number with this iSCSI implementation.

Definition at line 201 of file iscsi.h.

◆ ISCSI_OPCODE_LOGIN_RESPONSE

#define ISCSI_OPCODE_LOGIN_RESPONSE   0x23

Login response opcode.

Definition at line 243 of file iscsi.h.

◆ ISCSI_STATUS_SUCCESS

#define ISCSI_STATUS_SUCCESS   0x00

Definition at line 246 of file iscsi.h.

◆ ISCSI_STATUS_REDIRECT

#define ISCSI_STATUS_REDIRECT   0x01

Definition at line 247 of file iscsi.h.

◆ ISCSI_STATUS_INITIATOR_ERROR

#define ISCSI_STATUS_INITIATOR_ERROR   0x02

Definition at line 248 of file iscsi.h.

◆ ISCSI_STATUS_INITIATOR_ERROR_AUTHENTICATION

#define ISCSI_STATUS_INITIATOR_ERROR_AUTHENTICATION   0x01

Definition at line 249 of file iscsi.h.

◆ ISCSI_STATUS_INITIATOR_ERROR_AUTHORISATION

#define ISCSI_STATUS_INITIATOR_ERROR_AUTHORISATION   0x02

Definition at line 250 of file iscsi.h.

◆ ISCSI_STATUS_INITIATOR_ERROR_NOT_FOUND

#define ISCSI_STATUS_INITIATOR_ERROR_NOT_FOUND   0x03

Definition at line 251 of file iscsi.h.

◆ ISCSI_STATUS_INITIATOR_ERROR_REMOVED

#define ISCSI_STATUS_INITIATOR_ERROR_REMOVED   0x04

Definition at line 252 of file iscsi.h.

◆ ISCSI_STATUS_TARGET_ERROR

#define ISCSI_STATUS_TARGET_ERROR   0x03

Definition at line 253 of file iscsi.h.

◆ ISCSI_STATUS_TARGET_ERROR_UNAVAILABLE

#define ISCSI_STATUS_TARGET_ERROR_UNAVAILABLE   0x01

Definition at line 254 of file iscsi.h.

◆ ISCSI_STATUS_TARGET_ERROR_NO_RESOURCES

#define ISCSI_STATUS_TARGET_ERROR_NO_RESOURCES   0x02

Definition at line 255 of file iscsi.h.

◆ ISCSI_OPCODE_SCSI_COMMAND

#define ISCSI_OPCODE_SCSI_COMMAND   0x01

SCSI command opcode.

Definition at line 285 of file iscsi.h.

◆ ISCSI_COMMAND_FLAG_READ

#define ISCSI_COMMAND_FLAG_READ   0x40

Command will read data.

Definition at line 288 of file iscsi.h.

◆ ISCSI_COMMAND_FLAG_WRITE

#define ISCSI_COMMAND_FLAG_WRITE   0x20

Command will write data.

Definition at line 291 of file iscsi.h.

◆ ISCSI_COMMAND_ATTR_UNTAGGED

#define ISCSI_COMMAND_ATTR_UNTAGGED   0x00

Definition at line 294 of file iscsi.h.

◆ ISCSI_COMMAND_ATTR_SIMPLE

#define ISCSI_COMMAND_ATTR_SIMPLE   0x01

Definition at line 295 of file iscsi.h.

◆ ISCSI_COMMAND_ATTR_ORDERED

#define ISCSI_COMMAND_ATTR_ORDERED   0x02

Definition at line 296 of file iscsi.h.

◆ ISCSI_COMMAND_ATTR_HEAD_OF_QUEUE

#define ISCSI_COMMAND_ATTR_HEAD_OF_QUEUE   0x03

Definition at line 297 of file iscsi.h.

◆ ISCSI_COMMAND_ATTR_ACA

#define ISCSI_COMMAND_ATTR_ACA   0x04

Definition at line 298 of file iscsi.h.

◆ ISCSI_OPCODE_SCSI_RESPONSE

#define ISCSI_OPCODE_SCSI_RESPONSE   0x21

SCSI response opcode.

Definition at line 336 of file iscsi.h.

◆ ISCSI_RESPONSE_COMMAND_COMPLETE

#define ISCSI_RESPONSE_COMMAND_COMPLETE   0x00

SCSI command completed at target.

Definition at line 339 of file iscsi.h.

◆ ISCSI_RESPONSE_TARGET_FAILURE

#define ISCSI_RESPONSE_TARGET_FAILURE   0x01

SCSI target failure.

Definition at line 342 of file iscsi.h.

◆ ISCSI_RESPONSE_FLAG_OVERFLOW

#define ISCSI_RESPONSE_FLAG_OVERFLOW   0x20

Data overflow occurred.

Definition at line 345 of file iscsi.h.

◆ ISCSI_RESPONSE_FLAG_UNDERFLOW

#define ISCSI_RESPONSE_FLAG_UNDERFLOW   0x40

Data underflow occurred.

Definition at line 348 of file iscsi.h.

◆ ISCSI_OPCODE_DATA_IN

#define ISCSI_OPCODE_DATA_IN   0x25

Data-in opcode.

Definition at line 386 of file iscsi.h.

◆ ISCSI_DATA_FLAG_ACKNOWLEDGE

#define ISCSI_DATA_FLAG_ACKNOWLEDGE   0x40

Data requires acknowledgement.

Definition at line 389 of file iscsi.h.

◆ ISCSI_DATA_FLAG_OVERFLOW

#define ISCSI_DATA_FLAG_OVERFLOW   0x04

Data overflow occurred.

Definition at line 392 of file iscsi.h.

◆ ISCSI_DATA_FLAG_UNDERFLOW

#define ISCSI_DATA_FLAG_UNDERFLOW   0x02

Data underflow occurred.

Definition at line 395 of file iscsi.h.

◆ ISCSI_DATA_FLAG_STATUS

#define ISCSI_DATA_FLAG_STATUS   0x01

SCSI status code and overflow/underflow flags are valid.

Definition at line 398 of file iscsi.h.

◆ ISCSI_OPCODE_DATA_OUT

#define ISCSI_OPCODE_DATA_OUT   0x05

Data-out opcode.

Definition at line 434 of file iscsi.h.

◆ ISCSI_OPCODE_R2T

#define ISCSI_OPCODE_R2T   0x31

R2T opcode.

Definition at line 470 of file iscsi.h.

◆ ISCSI_OPCODE_NOP_IN

#define ISCSI_OPCODE_NOP_IN   0x20

NOP-In opcode.

Definition at line 500 of file iscsi.h.

◆ ISCSI_STATUS_SECURITY_NEGOTIATION_PHASE

#define ISCSI_STATUS_SECURITY_NEGOTIATION_PHASE
Value:
ISCSI_LOGIN_NSG_OPERATIONAL_NEGOTIATION )
#define ISCSI_LOGIN_CSG_SECURITY_NEGOTIATION
Definition: iscsi.h:183

iSCSI session is currently in the security negotiation phase

Definition at line 669 of file iscsi.h.

◆ ISCSI_STATUS_OPERATIONAL_NEGOTIATION_PHASE

#define ISCSI_STATUS_OPERATIONAL_NEGOTIATION_PHASE
Value:
ISCSI_LOGIN_NSG_FULL_FEATURE_PHASE )
#define ISCSI_LOGIN_CSG_OPERATIONAL_NEGOTIATION
Definition: iscsi.h:184

iSCSI session is currently in the operational parameter negotiation phase

Definition at line 676 of file iscsi.h.

◆ ISCSI_STATUS_FULL_FEATURE_PHASE

#define ISCSI_STATUS_FULL_FEATURE_PHASE   ISCSI_LOGIN_CSG_FULL_FEATURE_PHASE

iSCSI session is currently in the full feature phase

Definition at line 681 of file iscsi.h.

◆ ISCSI_STATUS_PHASE_MASK

#define ISCSI_STATUS_PHASE_MASK   ( ISCSI_LOGIN_CSG_MASK | ISCSI_LOGIN_NSG_MASK )

Mask for all iSCSI session phases.

Definition at line 684 of file iscsi.h.

◆ ISCSI_STATUS_STRINGS_SECURITY

#define ISCSI_STATUS_STRINGS_SECURITY   0x0100

iSCSI session needs to send the initial security negotiation strings

Definition at line 687 of file iscsi.h.

◆ ISCSI_STATUS_STRINGS_CHAP_ALGORITHM

#define ISCSI_STATUS_STRINGS_CHAP_ALGORITHM   0x0200

iSCSI session needs to send the CHAP_A string

Definition at line 690 of file iscsi.h.

◆ ISCSI_STATUS_STRINGS_CHAP_RESPONSE

#define ISCSI_STATUS_STRINGS_CHAP_RESPONSE   0x0400

iSCSI session needs to send the CHAP response

Definition at line 693 of file iscsi.h.

◆ ISCSI_STATUS_STRINGS_CHAP_CHALLENGE

#define ISCSI_STATUS_STRINGS_CHAP_CHALLENGE   0x0800

iSCSI session needs to send the mutual CHAP challenge

Definition at line 696 of file iscsi.h.

◆ ISCSI_STATUS_STRINGS_OPERATIONAL

#define ISCSI_STATUS_STRINGS_OPERATIONAL   0x1000

iSCSI session needs to send the operational negotiation strings

Definition at line 699 of file iscsi.h.

◆ ISCSI_STATUS_STRINGS_MASK

#define ISCSI_STATUS_STRINGS_MASK   0xff00

Mask for all iSCSI "needs to send" flags.

Definition at line 702 of file iscsi.h.

◆ ISCSI_STATUS_AUTH_FORWARD_REQUIRED

#define ISCSI_STATUS_AUTH_FORWARD_REQUIRED   0x00010000

Target has requested forward (initiator) authentication.

Definition at line 705 of file iscsi.h.

◆ ISCSI_STATUS_AUTH_REVERSE_REQUIRED

#define ISCSI_STATUS_AUTH_REVERSE_REQUIRED   0x00020000

Initiator requires target (reverse) authentication.

Definition at line 708 of file iscsi.h.

◆ ISCSI_STATUS_AUTH_REVERSE_OK

#define ISCSI_STATUS_AUTH_REVERSE_OK   0x00040000

Target authenticated itself correctly.

Definition at line 711 of file iscsi.h.

◆ ISCSI_DEFAULT_IQN_PREFIX

#define ISCSI_DEFAULT_IQN_PREFIX   "iqn.2010-04.org.ipxe"

Default initiator IQN prefix.

Definition at line 714 of file iscsi.h.

Enumeration Type Documentation

◆ iscsi_tx_state

State of an iSCSI TX engine.

Enumerator
ISCSI_TX_IDLE 

Nothing to send.

ISCSI_TX_BHS 

Sending the basic header segment.

ISCSI_TX_AHS 

Sending the additional header segment.

ISCSI_TX_DATA 

Sending the data segment.

Definition at line 520 of file iscsi.h.

520  {
521  /** Nothing to send */
522  ISCSI_TX_IDLE = 0,
523  /** Sending the basic header segment */
524  ISCSI_TX_BHS,
525  /** Sending the additional header segment */
526  ISCSI_TX_AHS,
527  /** Sending the data segment */
529 };
Nothing to send.
Definition: iscsi.h:522
Sending the additional header segment.
Definition: iscsi.h:526
Sending the data segment.
Definition: iscsi.h:528
Sending the basic header segment.
Definition: iscsi.h:524

◆ iscsi_rx_state

State of an iSCSI RX engine.

Enumerator
ISCSI_RX_BHS 

Receiving the basic header segment.

ISCSI_RX_AHS 

Receiving the additional header segment.

ISCSI_RX_DATA 

Receiving the data segment.

ISCSI_RX_DATA_PADDING 

Receiving the data segment padding.

Definition at line 532 of file iscsi.h.

532  {
533  /** Receiving the basic header segment */
534  ISCSI_RX_BHS = 0,
535  /** Receiving the additional header segment */
536  ISCSI_RX_AHS,
537  /** Receiving the data segment */
539  /** Receiving the data segment padding */
541 };
Receiving the data segment.
Definition: iscsi.h:538
Receiving the data segment padding.
Definition: iscsi.h:540
Receiving the additional header segment.
Definition: iscsi.h:536
Receiving the basic header segment.
Definition: iscsi.h:534

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL  )

◆ __setting()

const struct setting initiator_iqn_setting __setting ( SETTING_SANBOOT_EXTRA  ,
initiator-  iqn 
)