diff options
author | jiaxinwu <jiaxin.wu@intel.com> | 2015-07-08 03:09:28 +0000 |
---|---|---|
committer | jiaxinwu <jiaxinwu@Edk2> | 2015-07-08 03:09:28 +0000 |
commit | 395616868f51df1aba68c6ae692b56082d754c10 (patch) | |
tree | 579ca62e57741ad5be1c2bf342d4076f783b388c | |
parent | 6c5c70d68d868a69d33bb3f7f6e7c673b664c199 (diff) | |
download | edk2-platforms-395616868f51df1aba68c6ae692b56082d754c10.tar.xz |
NetworkPkg: Remove IpSecDxe and Ip4Config Protocol dependency.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: jiaxinwu <jiaxin.wu@intel.com>
Reviewed-by: Ye Ting <ting.ye@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17874 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r-- | NetworkPkg/IpSecDxe/IkeCommon.h | 2 | ||||
-rw-r--r-- | NetworkPkg/IpSecDxe/IkeService.c | 51 | ||||
-rw-r--r-- | NetworkPkg/IpSecDxe/IpSecDxe.inf | 4 |
3 files changed, 37 insertions, 20 deletions
diff --git a/NetworkPkg/IpSecDxe/IkeCommon.h b/NetworkPkg/IpSecDxe/IkeCommon.h index b88331cd86..714ecaa8e3 100644 --- a/NetworkPkg/IpSecDxe/IkeCommon.h +++ b/NetworkPkg/IpSecDxe/IkeCommon.h @@ -18,7 +18,7 @@ #include <Protocol/Udp4.h>
#include <Protocol/Udp6.h>
-#include <Protocol/Ip4Config.h>
+#include <Protocol/Ip4Config2.h>
#include <Library/BaseLib.h>
#include <Library/BaseMemoryLib.h>
diff --git a/NetworkPkg/IpSecDxe/IkeService.c b/NetworkPkg/IpSecDxe/IkeService.c index 8e2c794dc3..6594963f5d 100644 --- a/NetworkPkg/IpSecDxe/IkeService.c +++ b/NetworkPkg/IpSecDxe/IkeService.c @@ -1,7 +1,7 @@ /** @file
Provide IPsec Key Exchange (IKE) service general interfaces.
- Copyright (c) 2010 - 2013, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
@@ -212,15 +212,15 @@ IkeOpenOutputUdp ( IN EFI_IP_ADDRESS *RemoteIp
)
{
- EFI_STATUS Status;
- EFI_IP4_CONFIG_PROTOCOL *Ip4Cfg;
- EFI_IP4_IPCONFIG_DATA *Ip4CfgData;
- UINTN BufSize;
- EFI_IP6_MODE_DATA Ip6ModeData;
- EFI_UDP6_PROTOCOL *Udp6;
+ EFI_STATUS Status;
+ EFI_IP4_CONFIG2_PROTOCOL *Ip4Cfg2;
+ EFI_IP4_CONFIG2_INTERFACE_INFO *IfInfo;
+ UINTN BufSize;
+ EFI_IP6_MODE_DATA Ip6ModeData;
+ EFI_UDP6_PROTOCOL *Udp6;
Status = EFI_SUCCESS;
- Ip4CfgData = NULL;
+ IfInfo = NULL;
BufSize = 0;
//
@@ -236,35 +236,52 @@ IkeOpenOutputUdp ( //
Status = gBS->HandleProtocol (
UdpService->NicHandle,
- &gEfiIp4ConfigProtocolGuid,
- (VOID **) &Ip4Cfg
+ &gEfiIp4Config2ProtocolGuid,
+ (VOID **) &Ip4Cfg2
);
if (EFI_ERROR (Status)) {
goto ON_EXIT;
}
- Status = Ip4Cfg->GetData (Ip4Cfg, &BufSize, NULL);
+ //
+ // Get the interface information size.
+ //
+ Status = Ip4Cfg2->GetData (
+ Ip4Cfg2,
+ Ip4Config2DataTypeInterfaceInfo,
+ &BufSize,
+ NULL
+ );
if (EFI_ERROR (Status) && Status != EFI_BUFFER_TOO_SMALL) {
goto ON_EXIT;
}
- Ip4CfgData = AllocateZeroPool (BufSize);
+ IfInfo = AllocateZeroPool (BufSize);
- if (Ip4CfgData == NULL) {
+ if (IfInfo == NULL) {
Status = EFI_OUT_OF_RESOURCES;
goto ON_EXIT;
}
- Status = Ip4Cfg->GetData (Ip4Cfg, &BufSize, Ip4CfgData);
+ //
+ // Get the interface info.
+ //
+ Status = Ip4Cfg2->GetData (
+ Ip4Cfg2,
+ Ip4Config2DataTypeInterfaceInfo,
+ &BufSize,
+ IfInfo
+ );
+
if (EFI_ERROR (Status)) {
goto ON_EXIT;
}
CopyMem (
&UdpService->DefaultAddress.v4,
- &Ip4CfgData->StationAddress,
+ &IfInfo->StationAddress,
sizeof (EFI_IPv4_ADDRESS)
);
@@ -331,8 +348,8 @@ IkeOpenOutputUdp ( UdpService->IsConfigured = TRUE;
ON_EXIT:
- if (Ip4CfgData != NULL) {
- FreePool (Ip4CfgData);
+ if (IfInfo != NULL) {
+ FreePool (IfInfo);
}
return Status;
diff --git a/NetworkPkg/IpSecDxe/IpSecDxe.inf b/NetworkPkg/IpSecDxe/IpSecDxe.inf index c587c8ca8d..583305b4f8 100644 --- a/NetworkPkg/IpSecDxe/IpSecDxe.inf +++ b/NetworkPkg/IpSecDxe/IpSecDxe.inf @@ -6,7 +6,7 @@ # packet-level security for IP datagram. It provides the IP packet protection via
# ESP and it supports IKEv2 for key negotiation.
#
-# Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2009 - 2015, Intel Corporation. All rights reserved.<BR>
#
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
@@ -89,7 +89,7 @@ PcdLib
[Protocols]
- gEfiIp4ConfigProtocolGuid ## SOMETIMES_CONSUMES
+ gEfiIp4Config2ProtocolGuid ## SOMETIMES_CONSUMES
gEfiUdp4ServiceBindingProtocolGuid ## SOMETIMES_CONSUMES
gEfiUdp4ProtocolGuid ## SOMETIMES_CONSUMES
gEfiUdp6ServiceBindingProtocolGuid ## SOMETIMES_CONSUMES
|