_IkeSaEntry Struct Reference

IKE Security Association entry. More...

#include <ike.h>

Data Fields

IkeSaState state
 IKE SA state. More...
 
IkeContext * context
 IKE context. More...
 
IkeChildSaEntry * childSa1
 Child SA (created by the host) More...
 
IkeChildSaEntry * childSa2
 Child SA (created by the peer) More...
 
IkeSaEntry * newSa1
 New IKE SA (created by the host) More...
 
IkeSaEntry * newSa2
 New IKE SA (created by the peer) More...
 
IkeSaEntry * oldSa
 Old IKE SA. More...
 
IpAddr remoteIpAddr
 Remote IP address. More...
 
bool_t originalInitiator
 Original initiator of the IKE SA. More...
 
systime_t lifetimeStart
 
systime_t lifetime
 Lifetime of the IKE SA. More...
 
systime_t reauthPeriod
 Reauthentication period. More...
 
systime_t dpdTimestamp
 Timestamp to manage dead peer detection. More...
 
systime_t dpdPeriod
 Dead peer detection period. More...
 
systime_t timestamp
 
systime_t timeout
 
uint_t retransmitCount
 
uint32_t txMessageId
 
uint32_t rxMessageId
 
uint8_t cookie [IKE_MAX_COOKIE_SIZE]
 Cookie. More...
 
size_t cookieLen
 Length of the cookie, in bytes. More...
 
uint8_t initiatorSpi [IKE_SPI_SIZE]
 Initiator SPI. More...
 
uint8_t responderSpi [IKE_SPI_SIZE]
 Responder SPI. More...
 
uint8_t initiatorNonce [IKE_MAX_NONCE_SIZE]
 
size_t initiatorNonceLen
 
uint8_t responderNonce [IKE_MAX_NONCE_SIZE]
 
size_t responderNonceLen
 
IkeIdType peerIdType
 Peer ID type. More...
 
uint8_t peerId [IKE_MAX_ID_LEN]
 Peer ID. More...
 
size_t peerIdLen
 Length of the peer ID, in bytes. More...
 
IkeNotifyMsgType notifyMsgType
 
uint8_t unsupportedCriticalPayload
 
uint8_t notifyProtocolId
 
uint8_t notifySpi [4]
 
uint16_t encAlgoId
 Encryption algorithm. More...
 
uint16_t prfAlgoId
 Pseudorandom function. More...
 
uint16_t authAlgoId
 Integrity algorithm. More...
 
uint8_t acceptedProposalNum
 Number of the accepted proposal. More...
 
uint16_t preferredGroupNum
 Preferred key exchange method. More...
 
IkeKeContext keContext
 Key exchange context. More...
 
uint8_t sharedSecret [IKE_MAX_SHARED_SECRET_LEN]
 Shared secret. More...
 
size_t sharedSecretLen
 Length of the shared secret, in bytes. More...
 
uint8_t keyMaterial [IKE_MAX_SA_KEY_MAT_LEN]
 Keying material. More...
 
const uint8_t * skd
 Key used for deriving new keys for Child SAs. More...
 
const uint8_t * skai
 Integrity protection key (initiator) More...
 
const uint8_t * skar
 Integrity protection key (responder) More...
 
const uint8_t * skei
 Encryption key (initiator) More...
 
const uint8_t * sker
 Encryption key (responder) More...
 
const uint8_t * skpi
 Key used for generating AUTH payload (initiator) More...
 
const uint8_t * skpr
 Key used for generating AUTH payload (responder) More...
 
CipherMode cipherMode
 Cipher mode of operation. More...
 
const CipherAlgo * cipherAlgo
 Cipher algorithm. More...
 
CipherContext cipherContext
 Cipher context. More...
 
MacAlgo authMacAlgo
 MAC algorithm for integrity calculations. More...
 
const HashAlgo * authHashAlgo
 Hash algorithm for HMAC-based integrity calculations. More...
 
const CipherAlgo * authCipherAlgo
 Cipher algorithm for CMAC-based integrity calculations. More...
 
MacAlgo prfMacAlgo
 MAC algorithm for PRF calculations. More...
 
const HashAlgo * prfHashAlgo
 Hash algorithm for HMAC-based PRF calculations. More...
 
const CipherAlgo * prfCipherAlgo
 Cipher algorithm for CMAC-based PRF calculations. More...
 
size_t encKeyLen
 Size of the encryption key, in bytes. More...
 
size_t authKeyLen
 Size of the integrity protection key, in bytes. More...
 
size_t prfKeyLen
 Preferred size of the PRF key, in bytes. More...
 
size_t saltLen
 Length of the salt, in bytes. More...
 
size_t ivLen
 Length of the initialization vector, in bytes. More...
 
size_t icvLen
 Length of the ICV tag, in bytes. More...
 
uint8_t iv [8]
 Initialization vector. More...
 
const uint8_t * initiatorSaInit
 Pointer to the IKE_SA_INIT request. More...
 
size_t initiatorSaInitLen
 Length of the IKE_SA_INIT request, in bytes. More...
 
const uint8_t * responderSaInit
 Pointer to the IKE_SA_INIT response. More...
 
size_t responderSaInitLen
 Length of the IKE_SA_INIT response, in bytes. More...
 
uint8_t request [IKE_MAX_MSG_SIZE]
 Request message. More...
 
size_t requestLen
 Length of the request message, in bytes. More...
 
uint8_t response [IKE_MAX_MSG_SIZE]
 Response message. More...
 
size_t responseLen
 Length of the response message, in bytes. More...
 
bool_t rekeyRequest
 IKE SA rekey request. More...
 
bool_t reauthRequest
 IKE SA reauthentication request. More...
 
bool_t reauthPending
 Reauthentication process is on-going. More...
 
bool_t deleteRequest
 IKE SA delete request. More...
 
bool_t deleteReceived
 
bool_t noAdditionalSas
 NO_ADDITIONAL_SAS notification received. More...
 
bool_t initialContact
 INITIAL_CONTACT notification received. More...
 
uint32_t signHashAlgos
 List of hash algorithms supported by the peer. More...
 
bool_t natDetectSrcIp
 NAT_DETECTION_SOURCE_IP notification received. More...
 
bool_t natDetectDestIp
 NAT_DETECTION_DESTINATION_IP notification received. More...
 
bool_t localNat
 The local host is behind a NAT. More...
 
bool_t remoteNat
 The remote host is behind a NAT. More...
 
systime_t natKeepAliveTimestamp
 Timestamp to manage NAT keepalive transmission. More...
 

Detailed Description

IKE Security Association entry.

Definition at line 1830 of file ike.h.

Field Documentation

◆ acceptedProposalNum

uint8_t acceptedProposalNum

Number of the accepted proposal.

Definition at line 1882 of file ike.h.

◆ authAlgoId

uint16_t authAlgoId

Integrity algorithm.

Definition at line 1881 of file ike.h.

◆ authCipherAlgo

const CipherAlgo* authCipherAlgo

Cipher algorithm for CMAC-based integrity calculations.

Definition at line 1903 of file ike.h.

◆ authHashAlgo

const HashAlgo* authHashAlgo

Hash algorithm for HMAC-based integrity calculations.

Definition at line 1902 of file ike.h.

◆ authKeyLen

size_t authKeyLen

Size of the integrity protection key, in bytes.

Definition at line 1908 of file ike.h.

◆ authMacAlgo

MacAlgo authMacAlgo

MAC algorithm for integrity calculations.

Definition at line 1901 of file ike.h.

◆ childSa1

IkeChildSaEntry* childSa1

Child SA (created by the host)

Definition at line 1834 of file ike.h.

◆ childSa2

IkeChildSaEntry* childSa2

Child SA (created by the peer)

Definition at line 1835 of file ike.h.

◆ cipherAlgo

const CipherAlgo* cipherAlgo

Cipher algorithm.

Definition at line 1899 of file ike.h.

◆ cipherContext

CipherContext cipherContext

Cipher context.

Definition at line 1900 of file ike.h.

◆ cipherMode

CipherMode cipherMode

Cipher mode of operation.

Definition at line 1898 of file ike.h.

◆ context

IkeContext* context

IKE context.

Definition at line 1833 of file ike.h.

◆ cookie

uint8_t cookie[IKE_MAX_COOKIE_SIZE]

Cookie.

Definition at line 1859 of file ike.h.

◆ cookieLen

size_t cookieLen

Length of the cookie, in bytes.

Definition at line 1860 of file ike.h.

◆ deleteReceived

bool_t deleteReceived

Definition at line 1933 of file ike.h.

◆ deleteRequest

bool_t deleteRequest

IKE SA delete request.

Definition at line 1932 of file ike.h.

◆ dpdPeriod

systime_t dpdPeriod

Dead peer detection period.

Definition at line 1852 of file ike.h.

◆ dpdTimestamp

systime_t dpdTimestamp

Timestamp to manage dead peer detection.

Definition at line 1851 of file ike.h.

◆ encAlgoId

uint16_t encAlgoId

Encryption algorithm.

Definition at line 1879 of file ike.h.

◆ encKeyLen

size_t encKeyLen

Size of the encryption key, in bytes.

Definition at line 1907 of file ike.h.

◆ icvLen

size_t icvLen

Length of the ICV tag, in bytes.

Definition at line 1912 of file ike.h.

◆ initialContact

bool_t initialContact

INITIAL_CONTACT notification received.

Definition at line 1936 of file ike.h.

◆ initiatorNonce

uint8_t initiatorNonce[IKE_MAX_NONCE_SIZE]

Definition at line 1865 of file ike.h.

◆ initiatorNonceLen

size_t initiatorNonceLen

Definition at line 1866 of file ike.h.

◆ initiatorSaInit

const uint8_t* initiatorSaInit

Pointer to the IKE_SA_INIT request.

Definition at line 1915 of file ike.h.

◆ initiatorSaInitLen

size_t initiatorSaInitLen

Length of the IKE_SA_INIT request, in bytes.

Definition at line 1916 of file ike.h.

◆ initiatorSpi

uint8_t initiatorSpi[IKE_SPI_SIZE]

Initiator SPI.

Definition at line 1862 of file ike.h.

◆ iv

uint8_t iv[8]

Initialization vector.

Definition at line 1913 of file ike.h.

◆ ivLen

size_t ivLen

Length of the initialization vector, in bytes.

Definition at line 1911 of file ike.h.

◆ keContext

IkeKeContext keContext

Key exchange context.

Definition at line 1885 of file ike.h.

◆ keyMaterial

uint8_t keyMaterial[IKE_MAX_SA_KEY_MAT_LEN]

Keying material.

Definition at line 1889 of file ike.h.

◆ lifetime

systime_t lifetime

Lifetime of the IKE SA.

Definition at line 1846 of file ike.h.

◆ lifetimeStart

systime_t lifetimeStart

Definition at line 1845 of file ike.h.

◆ localNat

bool_t localNat

The local host is behind a NAT.

Definition at line 1944 of file ike.h.

◆ natDetectDestIp

bool_t natDetectDestIp

NAT_DETECTION_DESTINATION_IP notification received.

Definition at line 1943 of file ike.h.

◆ natDetectSrcIp

bool_t natDetectSrcIp

NAT_DETECTION_SOURCE_IP notification received.

Definition at line 1942 of file ike.h.

◆ natKeepAliveTimestamp

systime_t natKeepAliveTimestamp

Timestamp to manage NAT keepalive transmission.

Definition at line 1946 of file ike.h.

◆ newSa1

IkeSaEntry* newSa1

New IKE SA (created by the host)

Definition at line 1837 of file ike.h.

◆ newSa2

IkeSaEntry* newSa2

New IKE SA (created by the peer)

Definition at line 1838 of file ike.h.

◆ noAdditionalSas

bool_t noAdditionalSas

NO_ADDITIONAL_SAS notification received.

Definition at line 1934 of file ike.h.

◆ notifyMsgType

IkeNotifyMsgType notifyMsgType

Definition at line 1874 of file ike.h.

◆ notifyProtocolId

uint8_t notifyProtocolId

Definition at line 1876 of file ike.h.

◆ notifySpi

uint8_t notifySpi[4]

Definition at line 1877 of file ike.h.

◆ oldSa

IkeSaEntry* oldSa

Old IKE SA.

Definition at line 1841 of file ike.h.

◆ originalInitiator

bool_t originalInitiator

Original initiator of the IKE SA.

Definition at line 1844 of file ike.h.

◆ peerId

uint8_t peerId[IKE_MAX_ID_LEN]

Peer ID.

Definition at line 1871 of file ike.h.

◆ peerIdLen

size_t peerIdLen

Length of the peer ID, in bytes.

Definition at line 1872 of file ike.h.

◆ peerIdType

IkeIdType peerIdType

Peer ID type.

Definition at line 1870 of file ike.h.

◆ preferredGroupNum

uint16_t preferredGroupNum

Preferred key exchange method.

Definition at line 1884 of file ike.h.

◆ prfAlgoId

uint16_t prfAlgoId

Pseudorandom function.

Definition at line 1880 of file ike.h.

◆ prfCipherAlgo

const CipherAlgo* prfCipherAlgo

Cipher algorithm for CMAC-based PRF calculations.

Definition at line 1906 of file ike.h.

◆ prfHashAlgo

const HashAlgo* prfHashAlgo

Hash algorithm for HMAC-based PRF calculations.

Definition at line 1905 of file ike.h.

◆ prfKeyLen

size_t prfKeyLen

Preferred size of the PRF key, in bytes.

Definition at line 1909 of file ike.h.

◆ prfMacAlgo

MacAlgo prfMacAlgo

MAC algorithm for PRF calculations.

Definition at line 1904 of file ike.h.

◆ reauthPending

bool_t reauthPending

Reauthentication process is on-going.

Definition at line 1930 of file ike.h.

◆ reauthPeriod

systime_t reauthPeriod

Reauthentication period.

Definition at line 1848 of file ike.h.

◆ reauthRequest

bool_t reauthRequest

IKE SA reauthentication request.

Definition at line 1929 of file ike.h.

◆ rekeyRequest

bool_t rekeyRequest

IKE SA rekey request.

Definition at line 1926 of file ike.h.

◆ remoteIpAddr

IpAddr remoteIpAddr

Remote IP address.

Definition at line 1843 of file ike.h.

◆ remoteNat

bool_t remoteNat

The remote host is behind a NAT.

Definition at line 1945 of file ike.h.

◆ request

uint8_t request[IKE_MAX_MSG_SIZE]

Request message.

Definition at line 1920 of file ike.h.

◆ requestLen

size_t requestLen

Length of the request message, in bytes.

Definition at line 1921 of file ike.h.

◆ responderNonce

uint8_t responderNonce[IKE_MAX_NONCE_SIZE]

Definition at line 1867 of file ike.h.

◆ responderNonceLen

size_t responderNonceLen

Definition at line 1868 of file ike.h.

◆ responderSaInit

const uint8_t* responderSaInit

Pointer to the IKE_SA_INIT response.

Definition at line 1917 of file ike.h.

◆ responderSaInitLen

size_t responderSaInitLen

Length of the IKE_SA_INIT response, in bytes.

Definition at line 1918 of file ike.h.

◆ responderSpi

uint8_t responderSpi[IKE_SPI_SIZE]

Responder SPI.

Definition at line 1863 of file ike.h.

◆ response

uint8_t response[IKE_MAX_MSG_SIZE]

Response message.

Definition at line 1922 of file ike.h.

◆ responseLen

size_t responseLen

Length of the response message, in bytes.

Definition at line 1923 of file ike.h.

◆ retransmitCount

uint_t retransmitCount

Definition at line 1856 of file ike.h.

◆ rxMessageId

uint32_t rxMessageId

Definition at line 1858 of file ike.h.

◆ saltLen

size_t saltLen

Length of the salt, in bytes.

Definition at line 1910 of file ike.h.

◆ sharedSecret

uint8_t sharedSecret[IKE_MAX_SHARED_SECRET_LEN]

Shared secret.

Definition at line 1886 of file ike.h.

◆ sharedSecretLen

size_t sharedSecretLen

Length of the shared secret, in bytes.

Definition at line 1887 of file ike.h.

◆ signHashAlgos

uint32_t signHashAlgos

List of hash algorithms supported by the peer.

Definition at line 1939 of file ike.h.

◆ skai

const uint8_t* skai

Integrity protection key (initiator)

Definition at line 1891 of file ike.h.

◆ skar

const uint8_t* skar

Integrity protection key (responder)

Definition at line 1892 of file ike.h.

◆ skd

const uint8_t* skd

Key used for deriving new keys for Child SAs.

Definition at line 1890 of file ike.h.

◆ skei

const uint8_t* skei

Encryption key (initiator)

Definition at line 1893 of file ike.h.

◆ sker

const uint8_t* sker

Encryption key (responder)

Definition at line 1894 of file ike.h.

◆ skpi

const uint8_t* skpi

Key used for generating AUTH payload (initiator)

Definition at line 1895 of file ike.h.

◆ skpr

const uint8_t* skpr

Key used for generating AUTH payload (responder)

Definition at line 1896 of file ike.h.

◆ state

IkeSaState state

IKE SA state.

Definition at line 1832 of file ike.h.

◆ timeout

systime_t timeout

Definition at line 1855 of file ike.h.

◆ timestamp

systime_t timestamp

Definition at line 1854 of file ike.h.

◆ txMessageId

uint32_t txMessageId

Definition at line 1857 of file ike.h.

◆ unsupportedCriticalPayload

uint8_t unsupportedCriticalPayload

Definition at line 1875 of file ike.h.


The documentation for this struct was generated from the following file:
  • cyclone_ipsec/ike/ike.h