_IkeSaEntry Struct Reference

IKE Security Association entry. More...

#include <ike.h>

Data Fields

IkeSaState state
 IKE SA state. More...
 
IkeContext * context
 IKE context. More...
 
IkeSaEntry * oldSa
 Old IKE SA. More...
 
IkeSaEntry * newSa
 New IKE SA. More...
 
IkeChildSaEntry * childSa
 Child SA. More...
 
IpAddr remoteIpAddr
 IP address of the peer. More...
 
uint16_t remotePort
 
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 dpdStart
 
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...
 
uint16_t groupNum
 Key exchange method. More...
 
uint8_t acceptedProposalNum
 Number of the accepted proposal. 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...
 
const HashAlgo * authHashAlgo
 Hash algorithm for HMAC-based integrity calculations. More...
 
const CipherAlgo * authCipherAlgo
 Cipher algorithm for CMAC-based integrity 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...
 
DhContext dhContext
 Diffie-Hellman context. More...
 
EcdhContext ecdhContext
 ECDH context. More...
 
uint8_t * initiatorSaInit
 Pointer to the IKE_SA_INIT request. More...
 
size_t initiatorSaInitLen
 Length of the IKE_SA_INIT request, in bytes. More...
 
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 nonAdditionalSas
 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...
 

Detailed Description

IKE Security Association entry.

Definition at line 1778 of file ike.h.

Field Documentation

◆ acceptedProposalNum

uint8_t acceptedProposalNum

Number of the accepted proposal.

Definition at line 1824 of file ike.h.

◆ authAlgoId

uint16_t authAlgoId

Integrity algorithm.

Definition at line 1822 of file ike.h.

◆ authCipherAlgo

const CipherAlgo* authCipherAlgo

Cipher algorithm for CMAC-based integrity calculations.

Definition at line 1841 of file ike.h.

◆ authHashAlgo

const HashAlgo* authHashAlgo

Hash algorithm for HMAC-based integrity calculations.

Definition at line 1840 of file ike.h.

◆ authKeyLen

size_t authKeyLen

Size of the integrity protection key, in bytes.

Definition at line 1845 of file ike.h.

◆ childSa

IkeChildSaEntry* childSa

Child SA.

Definition at line 1784 of file ike.h.

◆ cipherAlgo

const CipherAlgo* cipherAlgo

Cipher algorithm.

Definition at line 1838 of file ike.h.

◆ cipherContext

CipherContext cipherContext

Cipher context.

Definition at line 1839 of file ike.h.

◆ cipherMode

CipherMode cipherMode

Cipher mode of operation.

Definition at line 1837 of file ike.h.

◆ context

IkeContext* context

IKE context.

Definition at line 1781 of file ike.h.

◆ cookie

uint8_t cookie[IKE_MAX_COOKIE_SIZE]

Cookie.

Definition at line 1800 of file ike.h.

◆ cookieLen

size_t cookieLen

Length of the cookie, in bytes.

Definition at line 1801 of file ike.h.

◆ deleteReceived

bool_t deleteReceived

Definition at line 1873 of file ike.h.

◆ deleteRequest

bool_t deleteRequest

IKE SA delete request.

Definition at line 1872 of file ike.h.

◆ dhContext

DhContext dhContext

Diffie-Hellman context.

Definition at line 1853 of file ike.h.

◆ dpdPeriod

systime_t dpdPeriod

Dead peer detection period.

Definition at line 1793 of file ike.h.

◆ dpdStart

systime_t dpdStart

Definition at line 1792 of file ike.h.

◆ ecdhContext

EcdhContext ecdhContext

ECDH context.

Definition at line 1856 of file ike.h.

◆ encAlgoId

uint16_t encAlgoId

Encryption algorithm.

Definition at line 1820 of file ike.h.

◆ encKeyLen

size_t encKeyLen

Size of the encryption key, in bytes.

Definition at line 1844 of file ike.h.

◆ groupNum

uint16_t groupNum

Key exchange method.

Definition at line 1823 of file ike.h.

◆ icvLen

size_t icvLen

Length of the ICV tag, in bytes.

Definition at line 1849 of file ike.h.

◆ initialContact

bool_t initialContact

INITIAL_CONTACT notification received.

Definition at line 1876 of file ike.h.

◆ initiatorNonce

uint8_t initiatorNonce[IKE_MAX_NONCE_SIZE]

Definition at line 1806 of file ike.h.

◆ initiatorNonceLen

size_t initiatorNonceLen

Definition at line 1807 of file ike.h.

◆ initiatorSaInit

uint8_t* initiatorSaInit

Pointer to the IKE_SA_INIT request.

Definition at line 1859 of file ike.h.

◆ initiatorSaInitLen

size_t initiatorSaInitLen

Length of the IKE_SA_INIT request, in bytes.

Definition at line 1860 of file ike.h.

◆ initiatorSpi

uint8_t initiatorSpi[IKE_SPI_SIZE]

Initiator SPI.

Definition at line 1803 of file ike.h.

◆ iv

uint8_t iv[8]

Initialization vector.

Definition at line 1850 of file ike.h.

◆ ivLen

size_t ivLen

Length of the initialization vector, in bytes.

Definition at line 1848 of file ike.h.

◆ keyMaterial

uint8_t keyMaterial[IKE_MAX_SA_KEY_MAT_LEN]

Keying material.

Definition at line 1828 of file ike.h.

◆ lifetime

systime_t lifetime

Lifetime of the IKE SA.

Definition at line 1789 of file ike.h.

◆ lifetimeStart

systime_t lifetimeStart

Definition at line 1788 of file ike.h.

◆ newSa

IkeSaEntry* newSa

New IKE SA.

Definition at line 1783 of file ike.h.

◆ nonAdditionalSas

bool_t nonAdditionalSas

NO_ADDITIONAL_SAS notification received.

Definition at line 1874 of file ike.h.

◆ notifyMsgType

IkeNotifyMsgType notifyMsgType

Definition at line 1815 of file ike.h.

◆ notifyProtocolId

uint8_t notifyProtocolId

Definition at line 1817 of file ike.h.

◆ notifySpi

uint8_t notifySpi[4]

Definition at line 1818 of file ike.h.

◆ oldSa

IkeSaEntry* oldSa

Old IKE SA.

Definition at line 1782 of file ike.h.

◆ originalInitiator

bool_t originalInitiator

Original initiator of the IKE SA.

Definition at line 1787 of file ike.h.

◆ peerId

uint8_t peerId[IKE_MAX_ID_LEN]

Peer ID.

Definition at line 1812 of file ike.h.

◆ peerIdLen

size_t peerIdLen

Length of the peer ID, in bytes.

Definition at line 1813 of file ike.h.

◆ peerIdType

IkeIdType peerIdType

Peer ID type.

Definition at line 1811 of file ike.h.

◆ prfAlgoId

uint16_t prfAlgoId

Pseudorandom function.

Definition at line 1821 of file ike.h.

◆ prfCipherAlgo

const CipherAlgo* prfCipherAlgo

Cipher algorithm for CMAC-based PRF calculations.

Definition at line 1843 of file ike.h.

◆ prfHashAlgo

const HashAlgo* prfHashAlgo

Hash algorithm for HMAC-based PRF calculations.

Definition at line 1842 of file ike.h.

◆ prfKeyLen

size_t prfKeyLen

Preferred size of the PRF key, in bytes.

Definition at line 1846 of file ike.h.

◆ reauthPending

bool_t reauthPending

Reauthentication process is on-going.

Definition at line 1871 of file ike.h.

◆ reauthPeriod

systime_t reauthPeriod

Reauthentication period.

Definition at line 1790 of file ike.h.

◆ reauthRequest

bool_t reauthRequest

IKE SA reauthentication request.

Definition at line 1870 of file ike.h.

◆ rekeyRequest

bool_t rekeyRequest

IKE SA rekey request.

Definition at line 1869 of file ike.h.

◆ remoteIpAddr

IpAddr remoteIpAddr

IP address of the peer.

Definition at line 1785 of file ike.h.

◆ remotePort

uint16_t remotePort

Definition at line 1786 of file ike.h.

◆ request

uint8_t request[IKE_MAX_MSG_SIZE]

Request message.

Definition at line 1864 of file ike.h.

◆ requestLen

size_t requestLen

Length of the request message, in bytes.

Definition at line 1865 of file ike.h.

◆ responderNonce

uint8_t responderNonce[IKE_MAX_NONCE_SIZE]

Definition at line 1808 of file ike.h.

◆ responderNonceLen

size_t responderNonceLen

Definition at line 1809 of file ike.h.

◆ responderSaInit

uint8_t* responderSaInit

Pointer to the IKE_SA_INIT response.

Definition at line 1861 of file ike.h.

◆ responderSaInitLen

size_t responderSaInitLen

Length of the IKE_SA_INIT response, in bytes.

Definition at line 1862 of file ike.h.

◆ responderSpi

uint8_t responderSpi[IKE_SPI_SIZE]

Responder SPI.

Definition at line 1804 of file ike.h.

◆ response

uint8_t response[IKE_MAX_MSG_SIZE]

Response message.

Definition at line 1866 of file ike.h.

◆ responseLen

size_t responseLen

Length of the response message, in bytes.

Definition at line 1867 of file ike.h.

◆ retransmitCount

uint_t retransmitCount

Definition at line 1797 of file ike.h.

◆ rxMessageId

uint32_t rxMessageId

Definition at line 1799 of file ike.h.

◆ saltLen

size_t saltLen

Length of the salt, in bytes.

Definition at line 1847 of file ike.h.

◆ sharedSecret

uint8_t sharedSecret[IKE_MAX_SHARED_SECRET_LEN]

Shared secret.

Definition at line 1826 of file ike.h.

◆ sharedSecretLen

size_t sharedSecretLen

Length of the shared secret, in bytes.

Definition at line 1827 of file ike.h.

◆ signHashAlgos

uint32_t signHashAlgos

List of hash algorithms supported by the peer.

Definition at line 1879 of file ike.h.

◆ skai

const uint8_t* skai

Integrity protection key (initiator)

Definition at line 1830 of file ike.h.

◆ skar

const uint8_t* skar

Integrity protection key (responder)

Definition at line 1831 of file ike.h.

◆ skd

const uint8_t* skd

Key used for deriving new keys for Child SAs.

Definition at line 1829 of file ike.h.

◆ skei

const uint8_t* skei

Encryption key (initiator)

Definition at line 1832 of file ike.h.

◆ sker

const uint8_t* sker

Encryption key (responder)

Definition at line 1833 of file ike.h.

◆ skpi

const uint8_t* skpi

Key used for generating AUTH payload (initiator)

Definition at line 1834 of file ike.h.

◆ skpr

const uint8_t* skpr

Key used for generating AUTH payload (responder)

Definition at line 1835 of file ike.h.

◆ state

IkeSaState state

IKE SA state.

Definition at line 1780 of file ike.h.

◆ timeout

systime_t timeout

Definition at line 1796 of file ike.h.

◆ timestamp

systime_t timestamp

Definition at line 1795 of file ike.h.

◆ txMessageId

uint32_t txMessageId

Definition at line 1798 of file ike.h.

◆ unsupportedCriticalPayload

uint8_t unsupportedCriticalPayload

Definition at line 1816 of file ike.h.


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