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)
 
 FILE_SECBOOT (PERMITTED)
 
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 24 of file iscsi.h.

◆ ISCSI_FIRST_BURST_LEN

#define ISCSI_FIRST_BURST_LEN   65536

Default iSCSI first burst length.

Definition at line 27 of file iscsi.h.

◆ ISCSI_MAX_BURST_LEN

#define ISCSI_MAX_BURST_LEN   262144

Default iSCSI maximum burst length.

Definition at line 30 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 33 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 58 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 62 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 66 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:134

Set additional header and data segment lengths.

Definition at line 70 of file iscsi.h.

◆ ISCSI_OPCODE_MASK

#define ISCSI_OPCODE_MASK   0x3f

Opcode mask.

Definition at line 97 of file iscsi.h.

◆ ISCSI_FLAG_IMMEDIATE

#define ISCSI_FLAG_IMMEDIATE   0x40

Immediate delivery.

Definition at line 100 of file iscsi.h.

◆ ISCSI_FLAG_FINAL

#define ISCSI_FLAG_FINAL   0x80

Final PDU of a sequence.

Definition at line 103 of file iscsi.h.

◆ ISCSI_TAG_MAGIC

#define ISCSI_TAG_MAGIC   0x18ae0000

iSCSI tag magic marker

Definition at line 106 of file iscsi.h.

◆ ISCSI_TAG_RESERVED

#define ISCSI_TAG_RESERVED   0xffffffff

iSCSI reserved tag value

Definition at line 109 of file iscsi.h.

◆ ISCSI_OPCODE_LOGIN_REQUEST

#define ISCSI_OPCODE_LOGIN_REQUEST   0x03

Login request opcode.

Definition at line 174 of file iscsi.h.

◆ ISCSI_LOGIN_FLAG_TRANSITION

#define ISCSI_LOGIN_FLAG_TRANSITION   0x80

Willingness to transition to next stage.

Definition at line 177 of file iscsi.h.

◆ ISCSI_LOGIN_FLAG_CONTINUE

#define ISCSI_LOGIN_FLAG_CONTINUE   0x40

Key=value pairs continued in subsequent request.

Definition at line 180 of file iscsi.h.

◆ ISCSI_LOGIN_CSG_MASK

#define ISCSI_LOGIN_CSG_MASK   0x0c

Definition at line 183 of file iscsi.h.

◆ ISCSI_LOGIN_CSG_SECURITY_NEGOTIATION

#define ISCSI_LOGIN_CSG_SECURITY_NEGOTIATION   0x00

Definition at line 184 of file iscsi.h.

◆ ISCSI_LOGIN_CSG_OPERATIONAL_NEGOTIATION

#define ISCSI_LOGIN_CSG_OPERATIONAL_NEGOTIATION   0x04

Definition at line 185 of file iscsi.h.

◆ ISCSI_LOGIN_CSG_FULL_FEATURE_PHASE

#define ISCSI_LOGIN_CSG_FULL_FEATURE_PHASE   0x0c

Definition at line 186 of file iscsi.h.

◆ ISCSI_LOGIN_NSG_MASK

#define ISCSI_LOGIN_NSG_MASK   0x03

Definition at line 189 of file iscsi.h.

◆ ISCSI_LOGIN_NSG_SECURITY_NEGOTIATION

#define ISCSI_LOGIN_NSG_SECURITY_NEGOTIATION   0x00

Definition at line 190 of file iscsi.h.

◆ ISCSI_LOGIN_NSG_OPERATIONAL_NEGOTIATION

#define ISCSI_LOGIN_NSG_OPERATIONAL_NEGOTIATION   0x01

Definition at line 191 of file iscsi.h.

◆ ISCSI_LOGIN_NSG_FULL_FEATURE_PHASE

#define ISCSI_LOGIN_NSG_FULL_FEATURE_PHASE   0x03

Definition at line 192 of file iscsi.h.

◆ ISCSI_ISID_IANA

#define ISCSI_ISID_IANA   0x40000000

ISID IANA format marker.

Definition at line 195 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 202 of file iscsi.h.

◆ ISCSI_OPCODE_LOGIN_RESPONSE

#define ISCSI_OPCODE_LOGIN_RESPONSE   0x23

Login response opcode.

Definition at line 244 of file iscsi.h.

◆ ISCSI_STATUS_SUCCESS

#define ISCSI_STATUS_SUCCESS   0x00

Definition at line 247 of file iscsi.h.

◆ ISCSI_STATUS_REDIRECT

#define ISCSI_STATUS_REDIRECT   0x01

Definition at line 248 of file iscsi.h.

◆ ISCSI_STATUS_INITIATOR_ERROR

#define ISCSI_STATUS_INITIATOR_ERROR   0x02

Definition at line 249 of file iscsi.h.

◆ ISCSI_STATUS_INITIATOR_ERROR_AUTHENTICATION

#define ISCSI_STATUS_INITIATOR_ERROR_AUTHENTICATION   0x01

Definition at line 250 of file iscsi.h.

◆ ISCSI_STATUS_INITIATOR_ERROR_AUTHORISATION

#define ISCSI_STATUS_INITIATOR_ERROR_AUTHORISATION   0x02

Definition at line 251 of file iscsi.h.

◆ ISCSI_STATUS_INITIATOR_ERROR_NOT_FOUND

#define ISCSI_STATUS_INITIATOR_ERROR_NOT_FOUND   0x03

Definition at line 252 of file iscsi.h.

◆ ISCSI_STATUS_INITIATOR_ERROR_REMOVED

#define ISCSI_STATUS_INITIATOR_ERROR_REMOVED   0x04

Definition at line 253 of file iscsi.h.

◆ ISCSI_STATUS_TARGET_ERROR

#define ISCSI_STATUS_TARGET_ERROR   0x03

Definition at line 254 of file iscsi.h.

◆ ISCSI_STATUS_TARGET_ERROR_UNAVAILABLE

#define ISCSI_STATUS_TARGET_ERROR_UNAVAILABLE   0x01

Definition at line 255 of file iscsi.h.

◆ ISCSI_STATUS_TARGET_ERROR_NO_RESOURCES

#define ISCSI_STATUS_TARGET_ERROR_NO_RESOURCES   0x02

Definition at line 256 of file iscsi.h.

◆ ISCSI_OPCODE_SCSI_COMMAND

#define ISCSI_OPCODE_SCSI_COMMAND   0x01

SCSI command opcode.

Definition at line 286 of file iscsi.h.

◆ ISCSI_COMMAND_FLAG_READ

#define ISCSI_COMMAND_FLAG_READ   0x40

Command will read data.

Definition at line 289 of file iscsi.h.

◆ ISCSI_COMMAND_FLAG_WRITE

#define ISCSI_COMMAND_FLAG_WRITE   0x20

Command will write data.

Definition at line 292 of file iscsi.h.

◆ ISCSI_COMMAND_ATTR_UNTAGGED

#define ISCSI_COMMAND_ATTR_UNTAGGED   0x00

Definition at line 295 of file iscsi.h.

◆ ISCSI_COMMAND_ATTR_SIMPLE

#define ISCSI_COMMAND_ATTR_SIMPLE   0x01

Definition at line 296 of file iscsi.h.

◆ ISCSI_COMMAND_ATTR_ORDERED

#define ISCSI_COMMAND_ATTR_ORDERED   0x02

Definition at line 297 of file iscsi.h.

◆ ISCSI_COMMAND_ATTR_HEAD_OF_QUEUE

#define ISCSI_COMMAND_ATTR_HEAD_OF_QUEUE   0x03

Definition at line 298 of file iscsi.h.

◆ ISCSI_COMMAND_ATTR_ACA

#define ISCSI_COMMAND_ATTR_ACA   0x04

Definition at line 299 of file iscsi.h.

◆ ISCSI_OPCODE_SCSI_RESPONSE

#define ISCSI_OPCODE_SCSI_RESPONSE   0x21

SCSI response opcode.

Definition at line 337 of file iscsi.h.

◆ ISCSI_RESPONSE_COMMAND_COMPLETE

#define ISCSI_RESPONSE_COMMAND_COMPLETE   0x00

SCSI command completed at target.

Definition at line 340 of file iscsi.h.

◆ ISCSI_RESPONSE_TARGET_FAILURE

#define ISCSI_RESPONSE_TARGET_FAILURE   0x01

SCSI target failure.

Definition at line 343 of file iscsi.h.

◆ ISCSI_RESPONSE_FLAG_OVERFLOW

#define ISCSI_RESPONSE_FLAG_OVERFLOW   0x20

Data overflow occurred.

Definition at line 346 of file iscsi.h.

◆ ISCSI_RESPONSE_FLAG_UNDERFLOW

#define ISCSI_RESPONSE_FLAG_UNDERFLOW   0x40

Data underflow occurred.

Definition at line 349 of file iscsi.h.

◆ ISCSI_OPCODE_DATA_IN

#define ISCSI_OPCODE_DATA_IN   0x25

Data-in opcode.

Definition at line 387 of file iscsi.h.

◆ ISCSI_DATA_FLAG_ACKNOWLEDGE

#define ISCSI_DATA_FLAG_ACKNOWLEDGE   0x40

Data requires acknowledgement.

Definition at line 390 of file iscsi.h.

◆ ISCSI_DATA_FLAG_OVERFLOW

#define ISCSI_DATA_FLAG_OVERFLOW   0x04

Data overflow occurred.

Definition at line 393 of file iscsi.h.

◆ ISCSI_DATA_FLAG_UNDERFLOW

#define ISCSI_DATA_FLAG_UNDERFLOW   0x02

Data underflow occurred.

Definition at line 396 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 399 of file iscsi.h.

◆ ISCSI_OPCODE_DATA_OUT

#define ISCSI_OPCODE_DATA_OUT   0x05

Data-out opcode.

Definition at line 435 of file iscsi.h.

◆ ISCSI_OPCODE_R2T

#define ISCSI_OPCODE_R2T   0x31

R2T opcode.

Definition at line 471 of file iscsi.h.

◆ ISCSI_OPCODE_NOP_IN

#define ISCSI_OPCODE_NOP_IN   0x20

NOP-In opcode.

Definition at line 501 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:184

iSCSI session is currently in the security negotiation phase

Definition at line 670 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:185

iSCSI session is currently in the operational parameter negotiation phase

Definition at line 677 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 682 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 685 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 688 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 691 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 694 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 697 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 700 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 703 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 706 of file iscsi.h.

◆ ISCSI_STATUS_AUTH_REVERSE_REQUIRED

#define ISCSI_STATUS_AUTH_REVERSE_REQUIRED   0x00020000

Initiator requires target (reverse) authentication.

Definition at line 709 of file iscsi.h.

◆ ISCSI_STATUS_AUTH_REVERSE_OK

#define ISCSI_STATUS_AUTH_REVERSE_OK   0x00040000

Target authenticated itself correctly.

Definition at line 712 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 715 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 521 of file iscsi.h.

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

◆ 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 533 of file iscsi.h.

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

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL  )

◆ FILE_SECBOOT()

FILE_SECBOOT ( PERMITTED  )

◆ __setting()

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