#include "MnpImpl.h"\r
#include "MnpVlan.h"\r
\r
-VLAN_DEVICE_PATH mVlanDevicePathTemplate = {\r
+VLAN_DEVICE_PATH mVlanDevicePathTemplate = {\r
{\r
MESSAGING_DEVICE_PATH,\r
MSG_VLAN_DP,\r
{\r
- (UINT8) (sizeof (VLAN_DEVICE_PATH)),\r
- (UINT8) ((sizeof (VLAN_DEVICE_PATH)) >> 8)\r
+ (UINT8)(sizeof (VLAN_DEVICE_PATH)),\r
+ (UINT8)((sizeof (VLAN_DEVICE_PATH)) >> 8)\r
}\r
},\r
0\r
VlanConfigRemove\r
};\r
\r
-\r
/**\r
Create a child handle for the VLAN ID.\r
\r
**/\r
EFI_HANDLE\r
MnpCreateVlanChild (\r
- IN EFI_HANDLE ImageHandle,\r
- IN EFI_HANDLE ControllerHandle,\r
- IN UINT16 VlanId,\r
- OUT EFI_DEVICE_PATH_PROTOCOL **Devicepath OPTIONAL\r
+ IN EFI_HANDLE ImageHandle,\r
+ IN EFI_HANDLE ControllerHandle,\r
+ IN UINT16 VlanId,\r
+ OUT EFI_DEVICE_PATH_PROTOCOL **Devicepath OPTIONAL\r
)\r
{\r
EFI_HANDLE ChildHandle;\r
Status = gBS->OpenProtocol (\r
ControllerHandle,\r
&gEfiDevicePathProtocolGuid,\r
- (VOID **) &ParentDevicePath,\r
+ (VOID **)&ParentDevicePath,\r
ImageHandle,\r
ControllerHandle,\r
EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
//\r
CopyMem (&VlanNode, &mVlanDevicePathTemplate, sizeof (VLAN_DEVICE_PATH));\r
VlanNode.VlanId = VlanId;\r
- VlanDevicePath = AppendDevicePathNode (\r
- ParentDevicePath,\r
- (EFI_DEVICE_PATH_PROTOCOL *) &VlanNode\r
- );\r
+ VlanDevicePath = AppendDevicePathNode (\r
+ ParentDevicePath,\r
+ (EFI_DEVICE_PATH_PROTOCOL *)&VlanNode\r
+ );\r
if (VlanDevicePath == NULL) {\r
return NULL;\r
}\r
// Create child VLAN handle by installing DevicePath protocol\r
//\r
ChildHandle = NULL;\r
- Status = gBS->InstallMultipleProtocolInterfaces (\r
- &ChildHandle,\r
- &gEfiDevicePathProtocolGuid,\r
- VlanDevicePath,\r
- NULL\r
- );\r
+ Status = gBS->InstallMultipleProtocolInterfaces (\r
+ &ChildHandle,\r
+ &gEfiDevicePathProtocolGuid,\r
+ VlanDevicePath,\r
+ NULL\r
+ );\r
if (EFI_ERROR (Status)) {\r
FreePool (VlanDevicePath);\r
return NULL;\r
**/\r
BOOLEAN\r
MnpRemoveVlanTag (\r
- IN OUT MNP_DEVICE_DATA *MnpDeviceData,\r
- IN OUT NET_BUF *Nbuf,\r
- OUT UINT16 *VlanId\r
+ IN OUT MNP_DEVICE_DATA *MnpDeviceData,\r
+ IN OUT NET_BUF *Nbuf,\r
+ OUT UINT16 *VlanId\r
)\r
{\r
UINT8 *Packet;\r
// Check whether this is VLAN tagged frame by Ether Type\r
//\r
*VlanId = 0;\r
- ProtocolType = NTOHS (*(UINT16 *) (Packet + ProtocolOffset));\r
+ ProtocolType = NTOHS (*(UINT16 *)(Packet + ProtocolOffset));\r
if (ProtocolType != ETHER_TYPE_VLAN) {\r
//\r
// Not a VLAN tagged frame\r
return FALSE;\r
}\r
\r
- VlanTag.Uint16 = NTOHS (*(UINT16 *) (Packet + ProtocolOffset + sizeof (ProtocolType)));\r
- *VlanId = VlanTag.Bits.Vid;\r
+ VlanTag.Uint16 = NTOHS (*(UINT16 *)(Packet + ProtocolOffset + sizeof (ProtocolType)));\r
+ *VlanId = VlanTag.Bits.Vid;\r
\r
//\r
// Move hardware address (DA + SA) 4 bytes right to override VLAN tag\r
return TRUE;\r
}\r
\r
-\r
/**\r
Build the vlan packet to transmit from the TxData passed in.\r
\r
**/\r
VOID\r
MnpInsertVlanTag (\r
- IN MNP_SERVICE_DATA *MnpServiceData,\r
- IN EFI_MANAGED_NETWORK_TRANSMIT_DATA *TxData,\r
- OUT UINT16 *ProtocolType,\r
- IN OUT UINT8 **Packet,\r
- IN OUT UINT32 *Length\r
+ IN MNP_SERVICE_DATA *MnpServiceData,\r
+ IN EFI_MANAGED_NETWORK_TRANSMIT_DATA *TxData,\r
+ OUT UINT16 *ProtocolType,\r
+ IN OUT UINT8 **Packet,\r
+ IN OUT UINT32 *Length\r
)\r
{\r
- VLAN_TCI *VlanTci;\r
- UINT16 *Tpid;\r
- UINT16 *EtherType;\r
- MNP_DEVICE_DATA *MnpDeviceData;\r
- EFI_SIMPLE_NETWORK_MODE *SnpMode;\r
+ VLAN_TCI *VlanTci;\r
+ UINT16 *Tpid;\r
+ UINT16 *EtherType;\r
+ MNP_DEVICE_DATA *MnpDeviceData;\r
+ EFI_SIMPLE_NETWORK_MODE *SnpMode;\r
\r
MnpDeviceData = MnpServiceData->MnpDeviceData;\r
SnpMode = MnpDeviceData->Snp->Mode;\r
\r
*ProtocolType = ETHER_TYPE_VLAN;\r
- *Length = *Length + NET_VLAN_TAG_LEN;\r
- *Packet = *Packet - NET_VLAN_TAG_LEN;\r
+ *Length = *Length + NET_VLAN_TAG_LEN;\r
+ *Packet = *Packet - NET_VLAN_TAG_LEN;\r
\r
- Tpid = (UINT16 *) (*Packet + SnpMode->MediaHeaderSize - sizeof (*ProtocolType));\r
- VlanTci = (VLAN_TCI *) (UINTN) (Tpid + 1);\r
+ Tpid = (UINT16 *)(*Packet + SnpMode->MediaHeaderSize - sizeof (*ProtocolType));\r
+ VlanTci = (VLAN_TCI *)(UINTN)(Tpid + 1);\r
if (TxData->HeaderLength != 0) {\r
//\r
// Media header is in packet, move DA+SA 4 bytes left\r
//\r
// Media header not in packet, VLAN TCI and original protocol type becomes payload\r
//\r
- EtherType = (UINT16 *) (UINTN) (VlanTci + 1);\r
+ EtherType = (UINT16 *)(UINTN)(VlanTci + 1);\r
*EtherType = HTONS (TxData->ProtocolType);\r
}\r
\r
**/\r
EFI_STATUS\r
MnpCheckVlanVariable (\r
- IN MNP_DEVICE_DATA *MnpDeviceData,\r
- IN VLAN_TCI *Buffer,\r
- IN UINTN NumberOfVlan,\r
- OUT UINTN *NewNumberOfVlan\r
+ IN MNP_DEVICE_DATA *MnpDeviceData,\r
+ IN VLAN_TCI *Buffer,\r
+ IN UINTN NumberOfVlan,\r
+ OUT UINTN *NewNumberOfVlan\r
)\r
{\r
- UINTN Index;\r
- UINTN Index2;\r
- UINTN Count;\r
- BOOLEAN FoundDuplicateItem;\r
- EFI_STATUS Status;\r
+ UINTN Index;\r
+ UINTN Index2;\r
+ UINTN Count;\r
+ BOOLEAN FoundDuplicateItem;\r
+ EFI_STATUS Status;\r
\r
- Count = 0;\r
- FoundDuplicateItem = FALSE;\r
- Status = EFI_SUCCESS;\r
+ Count = 0;\r
+ FoundDuplicateItem = FALSE;\r
+ Status = EFI_SUCCESS;\r
\r
for (Index = 0; Index < NumberOfVlan; Index++) {\r
- for (Index2 = Index + 1; Index2 < NumberOfVlan; Index2++) {\r
- if (Buffer[Index].Bits.Vid == Buffer[Index2].Bits.Vid) {\r
- FoundDuplicateItem = TRUE;\r
- Count++;\r
- break;\r
- }\r
- }\r
- if (FoundDuplicateItem) {\r
- for (Index2 = Index +1; Index2 < NumberOfVlan; Index++, Index2++) {\r
- CopyMem (Buffer + Index, Buffer + Index2, sizeof (VLAN_TCI));\r
+ for (Index2 = Index + 1; Index2 < NumberOfVlan; Index2++) {\r
+ if (Buffer[Index].Bits.Vid == Buffer[Index2].Bits.Vid) {\r
+ FoundDuplicateItem = TRUE;\r
+ Count++;\r
+ break;\r
+ }\r
+ }\r
+\r
+ if (FoundDuplicateItem) {\r
+ for (Index2 = Index +1; Index2 < NumberOfVlan; Index++, Index2++) {\r
+ CopyMem (Buffer + Index, Buffer + Index2, sizeof (VLAN_TCI));\r
+ }\r
}\r
- }\r
- FoundDuplicateItem = FALSE;\r
+\r
+ FoundDuplicateItem = FALSE;\r
}\r
\r
*NewNumberOfVlan = NumberOfVlan - Count;\r
**/\r
EFI_STATUS\r
MnpGetVlanVariable (\r
- IN MNP_DEVICE_DATA *MnpDeviceData,\r
- OUT UINTN *NumberOfVlan,\r
- OUT VLAN_TCI **VlanVariable\r
+ IN MNP_DEVICE_DATA *MnpDeviceData,\r
+ OUT UINTN *NumberOfVlan,\r
+ OUT VLAN_TCI **VlanVariable\r
)\r
{\r
UINTN BufferSize;\r
//\r
// Get VLAN configuration from EFI Variable\r
//\r
- Buffer = NULL;\r
+ Buffer = NULL;\r
BufferSize = 0;\r
- Status = gRT->GetVariable (\r
- MnpDeviceData->MacString,\r
- &gEfiVlanConfigProtocolGuid,\r
- NULL,\r
- &BufferSize,\r
- NULL\r
- );\r
+ Status = gRT->GetVariable (\r
+ MnpDeviceData->MacString,\r
+ &gEfiVlanConfigProtocolGuid,\r
+ NULL,\r
+ &BufferSize,\r
+ NULL\r
+ );\r
if (Status != EFI_BUFFER_TOO_SMALL) {\r
return EFI_NOT_FOUND;\r
}\r
**/\r
EFI_STATUS\r
MnpSetVlanVariable (\r
- IN MNP_DEVICE_DATA *MnpDeviceData,\r
- IN UINTN NumberOfVlan,\r
- IN VLAN_TCI *VlanVariable\r
+ IN MNP_DEVICE_DATA *MnpDeviceData,\r
+ IN UINTN NumberOfVlan,\r
+ IN VLAN_TCI *VlanVariable\r
)\r
{\r
return gRT->SetVariable (\r
);\r
}\r
\r
-\r
/**\r
Create a VLAN device or modify the configuration parameter of an\r
already-configured VLAN.\r
EFI_STATUS\r
EFIAPI\r
VlanConfigSet (\r
- IN EFI_VLAN_CONFIG_PROTOCOL *This,\r
- IN UINT16 VlanId,\r
- IN UINT8 Priority\r
+ IN EFI_VLAN_CONFIG_PROTOCOL *This,\r
+ IN UINT16 VlanId,\r
+ IN UINT8 Priority\r
)\r
{\r
EFI_STATUS Status;\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
- IsAdd = FALSE;\r
+ IsAdd = FALSE;\r
MnpDeviceData = MNP_DEVICE_DATA_FROM_THIS (This);\r
if (MnpDeviceData->NumberOfVlan == 0) {\r
//\r
// No existing VLAN, this is the first VLAN to add\r
//\r
- IsAdd = TRUE;\r
- Entry = GetFirstNode (&MnpDeviceData->ServiceList);\r
+ IsAdd = TRUE;\r
+ Entry = GetFirstNode (&MnpDeviceData->ServiceList);\r
MnpServiceData = MNP_SERVICE_DATA_FROM_LINK (Entry);\r
\r
if (VlanId != 0) {\r
//\r
// VlanId not found, create a new MNP service data\r
//\r
- IsAdd = TRUE;\r
+ IsAdd = TRUE;\r
MnpServiceData = MnpCreateServiceData (MnpDeviceData, VlanId, Priority);\r
if (MnpServiceData == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
}\r
\r
- MnpServiceData->VlanId = VlanId;\r
+ MnpServiceData->VlanId = VlanId;\r
MnpServiceData->Priority = Priority;\r
if (IsAdd) {\r
MnpDeviceData->NumberOfVlan++;\r
break;\r
}\r
}\r
+\r
ASSERT (Index < NumberOfVlan);\r
\r
NewVariable = OldVariable;\r
return Status;\r
}\r
\r
-\r
/**\r
Find configuration information for specified VLAN or all configured VLANs.\r
\r
EFI_STATUS\r
EFIAPI\r
VlanConfigFind (\r
- IN EFI_VLAN_CONFIG_PROTOCOL *This,\r
- IN UINT16 *VlanId OPTIONAL,\r
- OUT UINT16 *NumberOfVlan,\r
- OUT EFI_VLAN_FIND_DATA **Entries\r
+ IN EFI_VLAN_CONFIG_PROTOCOL *This,\r
+ IN UINT16 *VlanId OPTIONAL,\r
+ OUT UINT16 *NumberOfVlan,\r
+ OUT EFI_VLAN_FIND_DATA **Entries\r
)\r
{\r
MNP_DEVICE_DATA *MnpDeviceData;\r
LIST_ENTRY *Entry;\r
EFI_VLAN_FIND_DATA *VlanData;\r
\r
- if ((This == NULL) || (VlanId != NULL && *VlanId > 4094) || (NumberOfVlan == NULL) || (Entries == NULL)) {\r
+ if ((This == NULL) || ((VlanId != NULL) && (*VlanId > 4094)) || (NumberOfVlan == NULL) || (Entries == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
//\r
// Return all current VLAN configuration\r
//\r
- *NumberOfVlan = (UINT16) MnpDeviceData->NumberOfVlan;\r
- VlanData = AllocateZeroPool (*NumberOfVlan * sizeof (EFI_VLAN_FIND_DATA));\r
+ *NumberOfVlan = (UINT16)MnpDeviceData->NumberOfVlan;\r
+ VlanData = AllocateZeroPool (*NumberOfVlan * sizeof (EFI_VLAN_FIND_DATA));\r
if (VlanData == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
NET_LIST_FOR_EACH (Entry, &MnpDeviceData->ServiceList) {\r
MnpServiceData = MNP_SERVICE_DATA_FROM_LINK (Entry);\r
\r
- VlanData->VlanId = MnpServiceData->VlanId;\r
+ VlanData->VlanId = MnpServiceData->VlanId;\r
VlanData->Priority = MnpServiceData->Priority;\r
VlanData++;\r
}\r
if (VlanData == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
- VlanData->VlanId = MnpServiceData->VlanId;\r
+\r
+ VlanData->VlanId = MnpServiceData->VlanId;\r
VlanData->Priority = MnpServiceData->Priority;\r
\r
*NumberOfVlan = 1;\r
- *Entries = VlanData;\r
+ *Entries = VlanData;\r
\r
return EFI_SUCCESS;\r
}\r
\r
-\r
/**\r
Remove the configured VLAN device.\r
\r
EFI_STATUS\r
EFIAPI\r
VlanConfigRemove (\r
- IN EFI_VLAN_CONFIG_PROTOCOL *This,\r
- IN UINT16 VlanId\r
+ IN EFI_VLAN_CONFIG_PROTOCOL *This,\r
+ IN UINT16 VlanId\r
)\r
{\r
EFI_STATUS Status;\r