NetworkPkg/IScsiDxe/IScsiIbft.c File Reference


Functions

VOID IScsiInitIbfTableHeader (OUT EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_HEADER *Header, IN UINT8 *OemId, IN UINT64 *OemTableId)
VOID IScsiInitControlSection (IN EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_HEADER *Table)
VOID IScsiAddHeapItem (IN OUT UINT8 **Heap, IN VOID *Data, IN UINTN Len)
VOID IScsiFillInitiatorSection (IN EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_HEADER *Table, IN OUT UINT8 **Heap)
VOID IScsiMapV4ToV6Addr (IN EFI_IPv4_ADDRESS *V4, OUT EFI_IPv6_ADDRESS *V6)
VOID IScsiFillNICAndTargetSections (IN EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_HEADER *Table, IN OUT UINT8 **Heap)
VOID IScsiPublishIbft (IN VOID)

Variables

BOOLEAN mIbftInstalled = FALSE
UINTN mTableKey

Detailed Description

Implementation for iSCSI Boot Firmware Table publication.

Copyright (c) 2004 - 2013, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php

THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.


Function Documentation

VOID IScsiAddHeapItem ( IN OUT UINT8 **  Heap,
IN VOID *  Data,
IN UINTN  Len 
)

Add one item into the heap.

Parameters:
[in,out] Heap On input, the current address of the heap. On output, the address of the heap after the item is added.
[in] Data The data to add into the heap.
[in] Len Length of the Data in byte.

Referenced by IScsiFillInitiatorSection(), and IScsiFillNICAndTargetSections().

VOID IScsiFillInitiatorSection ( IN EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_HEADER *  Table,
IN OUT UINT8 **  Heap 
)

Fill the Initiator section of the iSCSI Boot Firmware Table.

Parameters:
[in] Table The ACPI table.
[in,out] Heap The heap.

References IBFT_ROUNDUP, ISCSI_PRIVATE_DATA::InitiatorName, ISCSI_PRIVATE_DATA::InitiatorNameLength, IScsiAddHeapItem(), and mPrivate.

Referenced by IScsiPublishIbft().

VOID IScsiFillNICAndTargetSections ( IN EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_HEADER *  Table,
IN OUT UINT8 **  Heap 
)

Fill the NIC and target sections in iSCSI Boot Firmware Table.

Parameters:
[in] Table The buffer of the ACPI table.
[in,out] Heap The heap buffer used to store the variable length parameters such as iSCSI name.

References _ISCSI_ATTEMPT_CONFIG_NVDATA::AttemptConfigIndex, ISCSI_PRIVATE_DATA::AttemptConfigs, _ISCSI_ATTEMPT_CONFIG_NVDATA::AuthConfigData, _ISCSI_ATTEMPT_CONFIG_NVDATA::AuthenticationType, _ISCSI_SESSION_CONFIG_NVDATA::BootLun, ISCSI_PRIVATE_DATA::BootSelectedIndex, ISCSI_NIC_INFO::BusNumber, _ISCSI_ATTEMPT_CONFIG_NVDATA::CHAP, _ISCSI_CHAP_AUTH_CONFIG_NVDATA::CHAPName, _ISCSI_CHAP_AUTH_CONFIG_NVDATA::CHAPSecret, _ISCSI_CHAP_AUTH_CONFIG_NVDATA::CHAPType, ISCSI_NIC_INFO::DeviceNumber, _ISCSI_ATTEMPT_CONFIG_NVDATA::DhcpServer, _ISCSI_SESSION_CONFIG_NVDATA::Enabled, ISCSI_PRIVATE_DATA::EnableMpio, ISCSI_NIC_INFO::FunctionNumber, _ISCSI_SESSION_CONFIG_NVDATA::Gateway, IBFT_ROUNDUP, _ISCSI_SESSION_CONFIG_NVDATA::InitiatorInfoFromDhcp, IP_MODE_AUTOCONFIG, IP_MODE_IP4, IP_MODE_IP6, _ISCSI_SESSION_CONFIG_NVDATA::IpMode, ISCSI_AUTH_TYPE_CHAP, ISCSI_AUTH_TYPE_KRB, ISCSI_AUTH_TYPE_NONE, ISCSI_CHAP_MUTUAL, ISCSI_CHAP_UNI, ISCSI_DISABLED, ISCSI_ENABLED_FOR_MPIO, IScsiAddHeapItem(), IScsiConfigGetAttemptByConfigIndex(), IScsiGetNicInfoByIndex(), IScsiGetSubnetMaskPrefixLength(), IScsiMapV4ToV6Addr(), _ISCSI_SESSION_CONFIG_NVDATA::LocalIp, mPrivate, _ISCSI_ATTEMPT_CONFIG_NVDATA::NicIndex, ISCSI_NIC_INFO::PermanentAddress, _ISCSI_SESSION_CONFIG_NVDATA::PrefixLength, _ISCSI_ATTEMPT_CONFIG_NVDATA::PrimaryDns, _ISCSI_CHAP_AUTH_CONFIG_NVDATA::ReverseCHAPName, _ISCSI_CHAP_AUTH_CONFIG_NVDATA::ReverseCHAPSecret, _ISCSI_ATTEMPT_CONFIG_NVDATA::SecondaryDns, _ISCSI_ATTEMPT_CONFIG_NVDATA::SessionConfigData, _ISCSI_SESSION_CONFIG_NVDATA::SubnetMask, _ISCSI_SESSION_CONFIG_NVDATA::TargetIp, _ISCSI_SESSION_CONFIG_NVDATA::TargetName, _ISCSI_SESSION_CONFIG_NVDATA::TargetPort, _ISCSI_ATTEMPT_CONFIG_NVDATA::ValidiBFTPath, and ISCSI_NIC_INFO::VlanId.

Referenced by IScsiPublishIbft().

VOID IScsiInitControlSection ( IN EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_HEADER *  Table  ) 

Initialize the control section of the iSCSI Boot Firmware Table.

Parameters:
[in] Table The ACPI table.

References ISCSI_PRIVATE_DATA::EnableMpio, ISCSI_PRIVATE_DATA::Krb5MpioCount, ISCSI_PRIVATE_DATA::MpioCount, mPrivate, and ISCSI_PRIVATE_DATA::ValidSinglePathCount.

Referenced by IScsiPublishIbft().

VOID IScsiInitIbfTableHeader ( OUT EFI_ACPI_ISCSI_BOOT_FIRMWARE_TABLE_HEADER *  Header,
IN UINT8 *  OemId,
IN UINT64 *  OemTableId 
)

Initialize the header of the iSCSI Boot Firmware Table.

Parameters:
[out] Header The header of the iSCSI Boot Firmware Table.
[in] OemId The OEM ID.
[in] OemTableId The OEM table ID for the iBFT.

References IBFT_HEAP_OFFSET.

Referenced by IScsiPublishIbft().

VOID IScsiMapV4ToV6Addr ( IN EFI_IPv4_ADDRESS *  V4,
OUT EFI_IPv6_ADDRESS *  V6 
)

Map the v4 IP address into v6 IP address.

Parameters:
[in] V4 The v4 IP address.
[out] V6 The v6 IP address.

Referenced by IScsiFillNICAndTargetSections().

VOID IScsiPublishIbft ( IN  VOID  ) 


Variable Documentation

BOOLEAN mIbftInstalled = FALSE

Referenced by IScsiPublishIbft().

UINTN mTableKey

Referenced by IScsiPublishIbft().


Generated on Mon Sep 28 08:49:06 2015 for NetworkPkg[ALL] by  doxygen 1.5.7.1