NetworkPkg/IpSecDxe/Ike.h File Reference


Data Structures

struct  IKE_HEADER
union  IKE_SA_ATTR_UNION
struct  IKE_SA_ATTRIBUTE
struct  IKE_PACKET
struct  IKE_PAYLOAD
struct  IKE_UDP_SERVICE
struct  SA_KEYMATS
struct  IKE_ALG_GUID_INFO
struct  MODP_GROUP

Defines

#define IKE_VERSION_MAJOR_MASK   0xf0
#define IKE_VERSION_MINOR_MASK   0x0f
#define IKE_MAJOR_VERSION(v)   (((v) & IKE_VERSION_MAJOR_MASK) >> 4)
#define IKE_MINOR_VERSION(v)   ((v) & IKE_VERSION_MINOR_MASK)
#define IPSEC_PROTO_ISAKMP   1
#define IPSEC_PROTO_IPSEC_AH   2
#define IPSEC_PROTO_IPSEC_ESP   3
#define IPSEC_PROTO_IPCOMP   4
#define IKE_ENCRYPT_TYPE   0
#define IKE_AUTH_TYPE   1
#define IKE_PRF_TYPE   2
#define IKE_DH_TYPE   3
#define IPSEC_ESP_DES_IV64   1
#define IPSEC_ESP_DES   2
#define IPSEC_ESP_3DES   3
#define IPSEC_ESP_RC5   4
#define IPSEC_ESP_IDEA   5
#define IPSEC_ESP_CAST   6
#define IPSEC_ESP_BLOWFISH   7
#define IPSEC_ESP_3IDEA   8
#define IPSEC_ESP_DES_IV32   9
#define IPSEC_ESP_RC4   10
#define IPSEC_ESP_NULL   11
#define IPSEC_ESP_AES   12
#define IKE_XCG_TYPE_NONE   0
#define IKE_XCG_TYPE_BASE   1
#define IKE_XCG_TYPE_IDENTITY_PROTECT   2
#define IKE_XCG_TYPE_AUTH_ONLY   3
#define IKE_XCG_TYPE_AGGR   4
#define IKE_XCG_TYPE_INFO   5
#define IKE_XCG_TYPE_QM   32
#define IKE_XCG_TYPE_NGM   33
#define IKE_XCG_TYPE_SA_INIT   34
#define IKE_XCG_TYPE_AUTH   35
#define IKE_XCG_TYPE_CREATE_CHILD_SA   36
#define IKE_XCG_TYPE_INFO2   37
#define IKE_LIFE_TYPE_SECONDS   1
#define IKE_LIFE_TYPE_KILOBYTES   2
#define IKE_SA_DEFAULT_LIFETIME   1200
#define CHILD_SA_DEFAULT_LIFETIME   3600
#define IKE_PROPOSAL_NEXT_PAYLOAD_MORE   2
#define IKE_PROPOSAL_NEXT_PAYLOAD_NONE   0
#define IKE_TRANSFORM_NEXT_PAYLOAD_MORE   3
#define IKE_TRANSFORM_NEXT_PAYLOAD_NONE   0
#define MAX_SA_ATTRS_SIZE   48
#define SA_ATTR_FORMAT_BIT   0x8000
#define INFO_MID_SIGNATURE   SIGNATURE_32 ('I', 'N', 'F', 'M')

Typedefs

typedef VOID(* IKE_ON_PAYLOAD_FROM_NET )(IN UINT8 *SessionCommon, IN UINT8 *PayloadBuf, IN UINTN PayloadSize, IN UINT8 PayloadType)

Enumerations

enum  IKE_SESSION_TYPE { IkeSessionTypeIkeSa, IkeSessionTypeChildSa, IkeSessionTypeInfo, IkeSessionTypeMax }
enum  OAKLEY_GROUP_ID {
  OakleyGroupModp768 = 1, OakleyGroupModp1024 = 2, OakleyGroupGp155 = 3, OakleyGroupGp185 = 4,
  OakleyGroupModp1536 = 5, OakleyGroupModp2048 = 14, OakleyGroupModp3072 = 15, OakleyGroupModp4096 = 16,
  OakleyGroupModp6144 = 17, OakleyGroupModp8192 = 18, OakleyGroupMax
}

Detailed Description

The common definition of IPsec Key Exchange (IKE).

Copyright (c) 2010, Intel Corporation. All rights reserved.

This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php.

THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.


Define Documentation

#define CHILD_SA_DEFAULT_LIFETIME   3600

Referenced by Ikev2ChildSaSessionReg().

#define IKE_AUTH_TYPE   1

#define IKE_DH_TYPE   3

#define IKE_ENCRYPT_TYPE   0

#define IKE_LIFE_TYPE_KILOBYTES   2

#define IKE_LIFE_TYPE_SECONDS   1

#define IKE_MAJOR_VERSION (  )     (((v) & IKE_VERSION_MAJOR_MASK) >> 4)

Referenced by IkeDispatch().

#define IKE_MINOR_VERSION (  )     ((v) & IKE_VERSION_MINOR_MASK)

#define IKE_PRF_TYPE   2

#define IKE_PROPOSAL_NEXT_PAYLOAD_MORE   2

Referenced by Ikev2DecodeSa(), and Ikev2EncodeSa().

#define IKE_PROPOSAL_NEXT_PAYLOAD_NONE   0

Referenced by Ikev2EncodeSa().

#define IKE_SA_DEFAULT_LIFETIME   1200

Referenced by Ikev2SaSessionReg().

#define IKE_TRANSFORM_NEXT_PAYLOAD_MORE   3

Referenced by Ikev2EncodeSa().

#define IKE_TRANSFORM_NEXT_PAYLOAD_NONE   0

Referenced by Ikev2EncodeSa().

#define IKE_VERSION_MAJOR_MASK   0xf0

#define IKE_VERSION_MINOR_MASK   0x0f

#define IKE_XCG_TYPE_AGGR   4

#define IKE_XCG_TYPE_AUTH   35

Referenced by IkeDispatch(), and IpSecDumpPacket().

#define IKE_XCG_TYPE_AUTH_ONLY   3

#define IKE_XCG_TYPE_BASE   1

#define IKE_XCG_TYPE_CREATE_CHILD_SA   36

#define IKE_XCG_TYPE_IDENTITY_PROTECT   2

Referenced by IkeDispatch(), and IpSecDumpPacket().

#define IKE_XCG_TYPE_INFO   5

Referenced by IkeDispatch(), and IpSecDumpPacket().

#define IKE_XCG_TYPE_INFO2   37

Referenced by IkeDispatch(), and IpSecDumpPacket().

#define IKE_XCG_TYPE_NGM   33

#define IKE_XCG_TYPE_NONE   0

#define IKE_XCG_TYPE_QM   32

Referenced by IkeDispatch(), and IpSecDumpPacket().

#define IKE_XCG_TYPE_SA_INIT   34

Referenced by IkeDispatch(), and IpSecDumpPacket().

#define INFO_MID_SIGNATURE   SIGNATURE_32 ('I', 'N', 'F', 'M')

#define IPSEC_ESP_3DES   3

#define IPSEC_ESP_3IDEA   8

#define IPSEC_ESP_AES   12

#define IPSEC_ESP_BLOWFISH   7

#define IPSEC_ESP_CAST   6

#define IPSEC_ESP_DES   2

#define IPSEC_ESP_DES_IV32   9

#define IPSEC_ESP_DES_IV64   1

#define IPSEC_ESP_IDEA   5

#define IPSEC_ESP_NULL   11

#define IPSEC_ESP_RC4   10

#define IPSEC_ESP_RC5   4

#define IPSEC_PROTO_IPCOMP   4

#define IPSEC_PROTO_IPSEC_AH   2

#define IPSEC_PROTO_IPSEC_ESP   3

#define IPSEC_PROTO_ISAKMP   1

#define MAX_SA_ATTRS_SIZE   48

Referenced by Ikev2EncodeSa().

#define SA_ATTR_FORMAT_BIT   0x8000

Referenced by Ikev2DecodeSa(), and Ikev2EncodeSa().


Typedef Documentation

typedef VOID(* IKE_ON_PAYLOAD_FROM_NET)(IN UINT8 *SessionCommon, IN UINT8 *PayloadBuf, IN UINTN PayloadSize, IN UINT8 PayloadType)

This is prototype definition of general interface to phase the payloads after/before the decode/encode.

Parameters:
[in] SessionCommon Point to the SessionCommon
[in] PayloadBuf Point to the buffer of Payload.
[in] PayloadSize The size of the PayloadBuf in bytes.
[in] PayloadType The type of Payload.


Enumeration Type Documentation

Enumerator:
IkeSessionTypeIkeSa 
IkeSessionTypeChildSa 
IkeSessionTypeInfo 
IkeSessionTypeMax 

Enumerator:
OakleyGroupModp768 
OakleyGroupModp1024 
OakleyGroupGp155 
OakleyGroupGp185 
OakleyGroupModp1536 
OakleyGroupModp2048 
OakleyGroupModp3072 
OakleyGroupModp4096 
OakleyGroupModp6144 
OakleyGroupModp8192 
OakleyGroupMax 


Generated on Mon Sep 28 08:49:06 2015 for NetworkPkg[ALL] by  doxygen 1.5.7.1