iPXE
Data Structures | Macros | Typedefs | Functions | Variables
ibft.h File Reference

iSCSI boot firmware table More...

#include <stdint.h>
#include <ipxe/acpi.h>
#include <ipxe/scsi.h>
#include <ipxe/in.h>

Go to the source code of this file.

Data Structures

struct  ibft_string
 A string within the iBFT. More...
 
struct  ibft_ipaddr
 An IP address within the iBFT. More...
 
struct  ibft_header
 iBFT structure header More...
 
struct  ibft_offset_pair
 iBFT NIC and Target offset pair More...
 
struct  ibft_control
 iBFT Control structure More...
 
struct  ibft_initiator
 iBFT Initiator structure More...
 
struct  ibft_nic
 iBFT NIC structure More...
 
struct  ibft_target
 iBFT Target structure More...
 
struct  ibft_table
 iSCSI Boot Firmware Table (iBFT) More...
 

Macros

#define IBFT_SIG   ACPI_SIGNATURE ( 'i', 'B', 'F', 'T' )
 iSCSI Boot Firmware Table signature More...
 
#define IBFT_ALIGN   16
 Alignment of structures within iBFT. More...
 
#define IBFT_STRUCTURE_ID_CONTROL   0x01
 Structure ID for Control section. More...
 
#define IBFT_FL_CONTROL_SINGLE_LOGIN_ONLY   0x01
 Attempt login only to specified target. More...
 
#define IBFT_STRUCTURE_ID_INITIATOR   0x02
 Structure ID for Initiator section. More...
 
#define IBFT_FL_INITIATOR_BLOCK_VALID   0x01
 Initiator block valid. More...
 
#define IBFT_FL_INITIATOR_FIRMWARE_BOOT_SELECTED   0x02
 Initiator firmware boot selected. More...
 
#define IBFT_STRUCTURE_ID_NIC   0x03
 Structure ID for NIC section. More...
 
#define IBFT_FL_NIC_BLOCK_VALID   0x01
 NIC block valid. More...
 
#define IBFT_FL_NIC_FIRMWARE_BOOT_SELECTED   0x02
 NIC firmware boot selected. More...
 
#define IBFT_FL_NIC_GLOBAL   0x04
 NIC global / link local. More...
 
#define IBFT_NIC_ORIGIN_OTHER   0x00
 NIC IP address origin. More...
 
#define IBFT_NIC_ORIGIN_MANUAL   0x01
 
#define IBFT_NIC_ORIGIN_WELLKNOWN   0x02
 
#define IBFT_NIC_ORIGIN_DHCP   0x03
 
#define IBFT_NIC_ORIGIN_RA   0x04
 
#define IBFT_NIC_ORIGIN_UNCHANGED   0x0f
 
#define IBFT_STRUCTURE_ID_TARGET   0x04
 Structure ID for Target section. More...
 
#define IBFT_FL_TARGET_BLOCK_VALID   0x01
 Target block valid. More...
 
#define IBFT_FL_TARGET_FIRMWARE_BOOT_SELECTED   0x02
 Target firmware boot selected. More...
 
#define IBFT_FL_TARGET_USE_CHAP   0x04
 Target use Radius CHAP. More...
 
#define IBFT_FL_TARGET_USE_RCHAP   0x08
 Target use Radius rCHAP. More...
 
#define IBFT_CHAP_NONE   0
 No CHAP authentication. More...
 
#define IBFT_CHAP_ONE_WAY   1
 One-way CHAP. More...
 
#define IBFT_CHAP_MUTUAL   2
 Mutual CHAP. More...
 

Typedefs

typedef uint16_t ibft_off_t
 An offset from the start of the iBFT. More...
 
typedef uint16_t ibft_size_t
 Length of a string within the iBFT (excluding terminating NUL) More...
 

Functions

 FILE_LICENCE (BSD2)
 

Variables

struct acpi_model ibft_model __acpi_model
 aBFT model More...
 

Detailed Description

iSCSI boot firmware table

The information in this file is derived from the document "iSCSI Boot Firmware Table (iBFT)" as published by IBM at

ftp://ftp.software.ibm.com/systems/support/system_x_pdf/ibm_iscsi_boot_firmware_table_v1.02.pdf

Definition in file ibft.h.

Macro Definition Documentation

◆ IBFT_SIG

#define IBFT_SIG   ACPI_SIGNATURE ( 'i', 'B', 'F', 'T' )

iSCSI Boot Firmware Table signature

Definition at line 50 of file ibft.h.

◆ IBFT_ALIGN

#define IBFT_ALIGN   16

Alignment of structures within iBFT.

Definition at line 53 of file ibft.h.

◆ IBFT_STRUCTURE_ID_CONTROL

#define IBFT_STRUCTURE_ID_CONTROL   0x01

Structure ID for Control section.

Definition at line 133 of file ibft.h.

◆ IBFT_FL_CONTROL_SINGLE_LOGIN_ONLY

#define IBFT_FL_CONTROL_SINGLE_LOGIN_ONLY   0x01

Attempt login only to specified target.

If this flag is not set, all targets will be logged in to.

Definition at line 139 of file ibft.h.

◆ IBFT_STRUCTURE_ID_INITIATOR

#define IBFT_STRUCTURE_ID_INITIATOR   0x02

Structure ID for Initiator section.

Definition at line 159 of file ibft.h.

◆ IBFT_FL_INITIATOR_BLOCK_VALID

#define IBFT_FL_INITIATOR_BLOCK_VALID   0x01

Initiator block valid.

Definition at line 162 of file ibft.h.

◆ IBFT_FL_INITIATOR_FIRMWARE_BOOT_SELECTED

#define IBFT_FL_INITIATOR_FIRMWARE_BOOT_SELECTED   0x02

Initiator firmware boot selected.

Definition at line 165 of file ibft.h.

◆ IBFT_STRUCTURE_ID_NIC

#define IBFT_STRUCTURE_ID_NIC   0x03

Structure ID for NIC section.

Definition at line 200 of file ibft.h.

◆ IBFT_FL_NIC_BLOCK_VALID

#define IBFT_FL_NIC_BLOCK_VALID   0x01

NIC block valid.

Definition at line 203 of file ibft.h.

◆ IBFT_FL_NIC_FIRMWARE_BOOT_SELECTED

#define IBFT_FL_NIC_FIRMWARE_BOOT_SELECTED   0x02

NIC firmware boot selected.

Definition at line 206 of file ibft.h.

◆ IBFT_FL_NIC_GLOBAL

#define IBFT_FL_NIC_GLOBAL   0x04

NIC global / link local.

Definition at line 209 of file ibft.h.

◆ IBFT_NIC_ORIGIN_OTHER

#define IBFT_NIC_ORIGIN_OTHER   0x00

NIC IP address origin.

Definition at line 212 of file ibft.h.

◆ IBFT_NIC_ORIGIN_MANUAL

#define IBFT_NIC_ORIGIN_MANUAL   0x01

Definition at line 213 of file ibft.h.

◆ IBFT_NIC_ORIGIN_WELLKNOWN

#define IBFT_NIC_ORIGIN_WELLKNOWN   0x02

Definition at line 214 of file ibft.h.

◆ IBFT_NIC_ORIGIN_DHCP

#define IBFT_NIC_ORIGIN_DHCP   0x03

Definition at line 215 of file ibft.h.

◆ IBFT_NIC_ORIGIN_RA

#define IBFT_NIC_ORIGIN_RA   0x04

Definition at line 216 of file ibft.h.

◆ IBFT_NIC_ORIGIN_UNCHANGED

#define IBFT_NIC_ORIGIN_UNCHANGED   0x0f

Definition at line 217 of file ibft.h.

◆ IBFT_STRUCTURE_ID_TARGET

#define IBFT_STRUCTURE_ID_TARGET   0x04

Structure ID for Target section.

Definition at line 252 of file ibft.h.

◆ IBFT_FL_TARGET_BLOCK_VALID

#define IBFT_FL_TARGET_BLOCK_VALID   0x01

Target block valid.

Definition at line 255 of file ibft.h.

◆ IBFT_FL_TARGET_FIRMWARE_BOOT_SELECTED

#define IBFT_FL_TARGET_FIRMWARE_BOOT_SELECTED   0x02

Target firmware boot selected.

Definition at line 258 of file ibft.h.

◆ IBFT_FL_TARGET_USE_CHAP

#define IBFT_FL_TARGET_USE_CHAP   0x04

Target use Radius CHAP.

Definition at line 261 of file ibft.h.

◆ IBFT_FL_TARGET_USE_RCHAP

#define IBFT_FL_TARGET_USE_RCHAP   0x08

Target use Radius rCHAP.

Definition at line 264 of file ibft.h.

◆ IBFT_CHAP_NONE

#define IBFT_CHAP_NONE   0

No CHAP authentication.

Definition at line 267 of file ibft.h.

◆ IBFT_CHAP_ONE_WAY

#define IBFT_CHAP_ONE_WAY   1

One-way CHAP.

Definition at line 268 of file ibft.h.

◆ IBFT_CHAP_MUTUAL

#define IBFT_CHAP_MUTUAL   2

Mutual CHAP.

Definition at line 269 of file ibft.h.

Typedef Documentation

◆ ibft_off_t

An offset from the start of the iBFT.

Definition at line 56 of file ibft.h.

◆ ibft_size_t

Length of a string within the iBFT (excluding terminating NUL)

Definition at line 59 of file ibft.h.

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( BSD2  )

Variable Documentation

◆ __acpi_model

struct acpi_model ibft_model __acpi_model

aBFT model

aBFT model

Definition at line 57 of file aoe.c.