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

EFI VLAN Config protocol is to provide manageability interface for VLAN configuration. More...

Go to the source code of this file.

Data Structures

struct  EFI_VLAN_FIND_DATA
 EFI_VLAN_FIND_DATA. More...
 
struct  _EFI_VLAN_CONFIG_PROTOCOL
 EFI_VLAN_CONFIG_PROTOCOL provide manageability interface for VLAN setting. More...
 

Macros

#define EFI_VLAN_CONFIG_PROTOCOL_GUID
 

Typedefs

typedef struct _EFI_VLAN_CONFIG_PROTOCOL EFI_VLAN_CONFIG_PROTOCOL
 
typedef EFI_STATUS(EFIAPIEFI_VLAN_CONFIG_SET) (IN EFI_VLAN_CONFIG_PROTOCOL *This, IN UINT16 VlanId, IN UINT8 Priority)
 Create a VLAN device or modify the configuration parameter of an already-configured VLAN. More...
 
typedef EFI_STATUS(EFIAPIEFI_VLAN_CONFIG_FIND) (IN EFI_VLAN_CONFIG_PROTOCOL *This, IN UINT16 *VlanId OPTIONAL, OUT UINT16 *NumberOfVlan, OUT EFI_VLAN_FIND_DATA **Entries)
 Find configuration information for specified VLAN or all configured VLANs. More...
 
typedef EFI_STATUS(EFIAPIEFI_VLAN_CONFIG_REMOVE) (IN EFI_VLAN_CONFIG_PROTOCOL *This, IN UINT16 VlanId)
 Remove the configured VLAN device. More...
 

Functions

 FILE_LICENCE (BSD2_PATENT)
 

Variables

EFI_GUID gEfiVlanConfigProtocolGuid
 

Detailed Description

EFI VLAN Config protocol is to provide manageability interface for VLAN configuration.

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

Revision Reference:
This Protocol is introduced in UEFI Specification 2.2

Definition in file VlanConfig.h.

Macro Definition Documentation

◆ EFI_VLAN_CONFIG_PROTOCOL_GUID

#define EFI_VLAN_CONFIG_PROTOCOL_GUID
Value:
{ \
0x9e23d768, 0xd2f3, 0x4366, {0x9f, 0xc3, 0x3a, 0x7a, 0xba, 0x86, 0x43, 0x74 } \
}

Definition at line 17 of file VlanConfig.h.

Typedef Documentation

◆ EFI_VLAN_CONFIG_PROTOCOL

Definition at line 22 of file VlanConfig.h.

◆ EFI_VLAN_CONFIG_SET

typedef EFI_STATUS(EFIAPI * EFI_VLAN_CONFIG_SET) (IN EFI_VLAN_CONFIG_PROTOCOL *This, IN UINT16 VlanId, IN UINT8 Priority)

Create a VLAN device or modify the configuration parameter of an already-configured VLAN.

The Set() function is used to create a new VLAN device or change the VLAN configuration parameters. If the VlanId hasn't been configured in the physical Ethernet device, a new VLAN device will be created. If a VLAN with this VlanId is already configured, then related configuration will be updated as the input parameters.

If VlanId is zero, the VLAN device will send and receive untagged frames. Otherwise, the VLAN device will send and receive VLAN-tagged frames containing the VlanId. If VlanId is out of scope of (0-4094), EFI_INVALID_PARAMETER is returned. If Priority is out of the scope of (0-7), then EFI_INVALID_PARAMETER is returned. If there is not enough system memory to perform the registration, then EFI_OUT_OF_RESOURCES is returned.

Parameters
[in]ThisPoints to the EFI_VLAN_CONFIG_PROTOCOL.
[in]VlanIdA unique identifier (1-4094) of the VLAN which is being created or modified, or zero (0).
[in]Priority3 bit priority in VLAN header. Priority 0 is default value. If VlanId is zero (0), Priority is ignored.
Return values
EFI_SUCCESSThe VLAN is successfully configured.
EFI_INVALID_PARAMETEROne or more of following conditions is TRUE:
  • This is NULL.
  • VlanId is an invalid VLAN Identifier.
  • Priority is invalid.
EFI_OUT_OF_RESOURCESThere is not enough system memory to perform the registration.

Definition at line 65 of file VlanConfig.h.

◆ EFI_VLAN_CONFIG_FIND

typedef EFI_STATUS(EFIAPI * EFI_VLAN_CONFIG_FIND) (IN EFI_VLAN_CONFIG_PROTOCOL *This, IN UINT16 *VlanId OPTIONAL, OUT UINT16 *NumberOfVlan, OUT EFI_VLAN_FIND_DATA **Entries)

Find configuration information for specified VLAN or all configured VLANs.

The Find() function is used to find the configuration information for matching VLAN and allocate a buffer into which those entries are copied.

Parameters
[in]ThisPoints to the EFI_VLAN_CONFIG_PROTOCOL.
[in]VlanIdPointer to VLAN identifier. Set to NULL to find all configured VLANs.
[out]NumberOfVlanThe number of VLANs which is found by the specified criteria.
[out]EntriesThe buffer which receive the VLAN configuration.
Return values
EFI_SUCCESSThe VLAN is successfully found.
EFI_INVALID_PARAMETEROne or more of following conditions is TRUE:
  • This is NULL.
  • Specified VlanId is invalid.
EFI_NOT_FOUNDNo matching VLAN is found.

Definition at line 92 of file VlanConfig.h.

◆ EFI_VLAN_CONFIG_REMOVE

typedef EFI_STATUS(EFIAPI * EFI_VLAN_CONFIG_REMOVE) (IN EFI_VLAN_CONFIG_PROTOCOL *This, IN UINT16 VlanId)

Remove the configured VLAN device.

The Remove() function is used to remove the specified VLAN device. If the VlanId is out of the scope of (0-4094), EFI_INVALID_PARAMETER is returned. If specified VLAN hasn't been previously configured, EFI_NOT_FOUND is returned.

Parameters
[in]ThisPoints to the EFI_VLAN_CONFIG_PROTOCOL.
[in]VlanIdIdentifier (0-4094) of the VLAN to be removed.
Return values
EFI_SUCCESSThe VLAN is successfully removed.
EFI_INVALID_PARAMETEROne or more of following conditions is TRUE:
  • This is NULL.
  • VlanId is an invalid parameter.
EFI_NOT_FOUNDThe to-be-removed VLAN does not exist.

Definition at line 118 of file VlanConfig.h.

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( BSD2_PATENT  )

Variable Documentation

◆ gEfiVlanConfigProtocolGuid

EFI_GUID gEfiVlanConfigProtocolGuid