/** @file\r
Common operation of the IKE.\r
\r
- Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>\r
+ Copyright (c) 2010 - 2016, Intel Corporation. All rights reserved.<BR>\r
\r
This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
\r
#include <Protocol/Udp4.h>\r
#include <Protocol/Udp6.h>\r
-#include <Protocol/Ip4Config.h>\r
+#include <Protocol/Ip4Config2.h>\r
\r
#include <Library/BaseLib.h>\r
#include <Library/BaseMemoryLib.h>\r
#define IKE_DEFAULT_TIMEOUT_INTERVAL 10000 // 10s\r
#define IKE_NONCE_SIZE 16\r
#define IKE_MAX_RETRY 4\r
-#define IKE_SPI_BASE 0x10000\r
+#define IKE_SPI_BASE 0x100\r
#define IKE_PAYLOAD_SIGNATURE SIGNATURE_32('I','K','E','P')\r
#define IKE_PAYLOAD_BY_PACKET(a) CR(a,IKE_PAYLOAD,ByPacket,IKE_PAYLOAD_SIGNATURE)\r
\r
);\r
\r
/**\r
- Generate an unused SPI\r
-\r
- @return a SPI in 4 bytes.\r
+ Generate an new SPI.\r
+ \r
+ @param[in] IkeSaSession Pointer to IKEV2_SA_SESSION related to this Child SA \r
+ Session.\r
+ @param[in, out] SpiValue Pointer to the new generated SPI value. \r
+ \r
+ @retval EFI_SUCCESS The operation performs successfully.\r
+ @retval Otherwise The operation is failed.\r
\r
**/\r
-UINT32\r
+EFI_STATUS\r
IkeGenerateSpi (\r
- VOID\r
+ IN IKEV2_SA_SESSION *IkeSaSession,\r
+ IN OUT UINT32 *SpiValue\r
);\r
\r
/**\r
IN UINT8 *Session\r
);\r
\r
-/**
- Find SPD entry by a specified SPD selector.
-
+/**\r
+ Find SPD entry by a specified SPD selector.\r
+\r
@param[in] SpdSel Point to SPD Selector to be searched for.\r
-
- @retval Point to Spd Entry if the SPD entry found.
- @retval NULL if not found.
-
-**/
-IPSEC_SPD_ENTRY *
+\r
+ @retval Point to Spd Entry if the SPD entry found.\r
+ @retval NULL if not found.\r
+\r
+**/\r
+IPSEC_SPD_ENTRY *\r
IkeSearchSpdEntry (\r
- IN EFI_IPSEC_SPD_SELECTOR *SpdSel
+ IN EFI_IPSEC_SPD_SELECTOR *SpdSel\r
);\r
\r
-extern EFI_GUID mZeroGuid;\r
extern MODP_GROUP OakleyModpGroup[];\r
extern IKE_ALG_GUID_INFO mIPsecEncrAlgInfo[];\r
extern IKE_ALG_GUID_INFO mIPsecAuthAlgInfo[];\r