TianoCore EDK2 master
Loading...
Searching...
No Matches
IScsiDhcp.c File Reference
#include "IScsiImpl.h"

Go to the source code of this file.

Functions

EFI_STATUS IScsiDhcpExtractRootPath (IN CHAR8 *RootPath, IN UINT8 Length, IN OUT ISCSI_ATTEMPT_CONFIG_NVDATA *ConfigData)
 
EFI_STATUS EFIAPI IScsiDhcpSelectOffer (IN EFI_DHCP4_PROTOCOL *This, IN VOID *Context, IN EFI_DHCP4_STATE CurrentState, IN EFI_DHCP4_EVENT Dhcp4Event, IN EFI_DHCP4_PACKET *Packet OPTIONAL, OUT EFI_DHCP4_PACKET **NewPacket OPTIONAL)
 
EFI_STATUS IScsiParseDhcpAck (IN EFI_DHCP4_PROTOCOL *Dhcp4, IN OUT ISCSI_ATTEMPT_CONFIG_NVDATA *ConfigData)
 
EFI_STATUS IScsiSetIp4Policy (IN EFI_IP4_CONFIG2_PROTOCOL *Ip4Config2)
 
EFI_STATUS IScsiDoDhcp (IN EFI_HANDLE Image, IN EFI_HANDLE Controller, IN OUT ISCSI_ATTEMPT_CONFIG_NVDATA *ConfigData)
 

Detailed Description

iSCSI DHCP4 related configuration routines.

Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file IScsiDhcp.c.

Function Documentation

◆ IScsiDhcpExtractRootPath()

EFI_STATUS IScsiDhcpExtractRootPath ( IN CHAR8 *  RootPath,
IN UINT8  Length,
IN OUT ISCSI_ATTEMPT_CONFIG_NVDATA ConfigData 
)

Extract the Root Path option and get the required target information.

Parameters
[in]RootPathThe RootPath.
[in]LengthLength of the RootPath option payload.
[in,out]ConfigDataThe iSCSI attempt configuration data read from a nonvolatile device.
Return values
EFI_SUCCESSAll required information is extracted from the RootPath option.
EFI_NOT_FOUNDThe RootPath is not an iSCSI RootPath.
EFI_OUT_OF_RESOURCESFailed to allocate memory.
EFI_INVALID_PARAMETERThe RootPath is malformatted.

Definition at line 26 of file IScsiDhcp.c.

◆ IScsiDhcpSelectOffer()

EFI_STATUS EFIAPI IScsiDhcpSelectOffer ( IN EFI_DHCP4_PROTOCOL This,
IN VOID *  Context,
IN EFI_DHCP4_STATE  CurrentState,
IN EFI_DHCP4_EVENT  Dhcp4Event,
IN EFI_DHCP4_PACKET *Packet  OPTIONAL,
OUT EFI_DHCP4_PACKET **NewPacket  OPTIONAL 
)

The callback function registered to the DHCP4 instance that is used to select the qualified DHCP OFFER.

Parameters
[in]ThisThe DHCP4 protocol.
[in]ContextThe context set when configuring the DHCP4 protocol.
[in]CurrentStateThe current state of the DHCP4 protocol.
[in]Dhcp4EventThe event occurs in the current state.
[in]PacketThe DHCP packet that is to be sent or was already received.
[out]NewPacketThe packet used to replace the above Packet.
Return values
EFI_SUCCESSEither the DHCP OFFER is qualified or we're not intereseted in the Dhcp4Event.
EFI_NOT_READYThe DHCP OFFER packet doesn't match our requirements.
OthersOther errors as indicated.

Definition at line 221 of file IScsiDhcp.c.

◆ IScsiDoDhcp()

EFI_STATUS IScsiDoDhcp ( IN EFI_HANDLE  Image,
IN EFI_HANDLE  Controller,
IN OUT ISCSI_ATTEMPT_CONFIG_NVDATA ConfigData 
)

Parse the DHCP ACK to get the address configuration and DNS information.

Parameters
[in]ImageThe handle of the driver image.
[in]ControllerThe handle of the controller.
[in,out]ConfigDataThe attempt configuration data.
Return values
EFI_SUCCESSThe DNS information is got from the DHCP ACK.
EFI_OUT_OF_RESOURCESFailed to allocate memory.
EFI_NO_MEDIAThere was a media error.
OthersOther errors as indicated.

Definition at line 435 of file IScsiDhcp.c.

◆ IScsiParseDhcpAck()

EFI_STATUS IScsiParseDhcpAck ( IN EFI_DHCP4_PROTOCOL Dhcp4,
IN OUT ISCSI_ATTEMPT_CONFIG_NVDATA ConfigData 
)

Parse the DHCP ACK to get the address configuration and DNS information.

Parameters
[in]Dhcp4The DHCP4 protocol.
[in,out]ConfigDataThe session configuration data.
Return values
EFI_SUCCESSThe DNS information is got from the DHCP ACK.
EFI_NO_MAPPINGDHCP failed to acquire address and other information.
EFI_INVALID_PARAMETERThe DHCP ACK's DNS option is malformatted.
EFI_DEVICE_ERROROther errors as indicated.
EFI_OUT_OF_RESOURCESFailed to allocate memory.

Definition at line 294 of file IScsiDhcp.c.

◆ IScsiSetIp4Policy()

EFI_STATUS IScsiSetIp4Policy ( IN EFI_IP4_CONFIG2_PROTOCOL Ip4Config2)

This function will switch the IP4 configuration policy to Static.

Parameters
[in]Ip4Config2Pointer to the IP4 configuration protocol.
Return values
EFI_SUCCESSThe policy is already configured to static.
OthersOther error as indicated.

Definition at line 386 of file IScsiDhcp.c.