IPsec (IP security) More...
#include "ipsec_config.h"#include "core/net.h"#include "core/udp.h"#include "core/tcp.h"#include "ipv4/icmp.h"#include "core/crypto.h"#include "ah/ah.h"#include "esp/esp.h"#include "cipher/cipher_algorithms.h"#include "cipher_modes/cipher_modes.h"#include "hash/hash_algorithms.h"#include "mac/mac_algorithms.h"Go to the source code of this file.
Data Structures | |
| struct | IpsecAddrRange |
| IP address range. More... | |
| struct | IpsecPortRange |
| Port range. More... | |
| struct | IpsecSelector |
| IPsec selector. More... | |
| struct | IpsecPacketInfo |
| IP packet information. More... | |
| union | IpsecId |
| IPsec ID. More... | |
| struct | IpsecSpdEntry |
| Security Policy Database (SPD) entry. More... | |
| struct | _IpsecSadEntry |
| Security Association Database (SAD) entry. More... | |
| struct | IpsecPadEntry |
| Peer Authorization Database (PAD) entry. More... | |
| struct | IpsecSettings |
| IPsec settings. More... | |
| struct | IpsecContext |
| IPsec context. More... | |
Macros | |
| #define | IpsecSadEntry struct _IpsecSadEntry |
| #define | CYCLONE_IPSEC_VERSION_STRING "2.5.4" |
| #define | CYCLONE_IPSEC_MAJOR_VERSION 2 |
| #define | CYCLONE_IPSEC_MINOR_VERSION 5 |
| #define | CYCLONE_IPSEC_REV_NUMBER 4 |
| #define | IPSEC_SUPPORT ENABLED |
| #define | IPSEC_ANTI_REPLAY_SUPPORT ENABLED |
| #define | IPSEC_ANTI_REPLAY_WINDOW_SIZE 64 |
| #define | IPSEC_MAX_ID_LEN 64 |
| #define | IPSEC_MAX_PSK_LEN 64 |
| #define | IPSEC_MAX_ENC_KEY_LEN 36 |
| #define | IPSEC_MAX_AUTH_KEY_LEN 64 |
| #define | IPSEC_SPI_SIZE 4 |
| #define | IPSEC_PROTOCOL_ANY 0 |
| #define | IPSEC_PORT_START_ANY 0 |
| #define | IPSEC_PORT_END_ANY 65535 |
| #define | IPSEC_PORT_START_OPAQUE 65535 |
| #define | IPSEC_PORT_END_OPAQUE 0 |
| #define | IPSEC_ICMP_PORT(type, code) (((type) * 256) + (code)) |
Functions | |
| void | ipsecGetDefaultSettings (IpsecSettings *settings) |
| Initialize settings with default values. More... | |
| error_t | ipsecInit (IpsecContext *context, const IpsecSettings *settings) |
| IPsec service initialization. More... | |
| error_t | ipsecSetSpdEntry (IpsecContext *context, uint_t index, IpsecSpdEntry *params) |
| Set entry at specified index in SPD database. More... | |
| error_t | ipsecClearSpdEntry (IpsecContext *context, uint_t index) |
| Clear entry at specified index in SPD database. More... | |
| error_t | ipsecSetSadEntry (IpsecContext *context, uint_t index, IpsecSadEntry *params) |
| Set entry at specified index in SAD database. More... | |
| error_t | ipsecClearSadEntry (IpsecContext *context, uint_t index) |
| Clear entry at specified index in SAD database. More... | |
| error_t | ipsecSetPadEntry (IpsecContext *context, uint_t index, IpsecPadEntry *params) |
| Set entry at specified index in PAD database. More... | |
| error_t | ipsecClearPadEntry (IpsecContext *context, uint_t index) |
| Clear entry at specified index in PAD database. More... | |
Detailed Description
IPsec (IP security)
License
SPDX-License-Identifier: GPL-2.0-or-later
Copyright (C) 2022-2025 Oryx Embedded SARL. All rights reserved.
This file is part of CycloneIPSEC Open.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- Version
- 2.5.4
Definition in file ipsec.h.
Macro Definition Documentation
◆ CYCLONE_IPSEC_MAJOR_VERSION
◆ CYCLONE_IPSEC_MINOR_VERSION
◆ CYCLONE_IPSEC_REV_NUMBER
◆ CYCLONE_IPSEC_VERSION_STRING
◆ IPSEC_ANTI_REPLAY_SUPPORT
◆ IPSEC_ANTI_REPLAY_WINDOW_SIZE
◆ IPSEC_ICMP_PORT
◆ IPSEC_MAX_AUTH_KEY_LEN
◆ IPSEC_MAX_ENC_KEY_LEN
◆ IPSEC_MAX_ID_LEN
◆ IPSEC_MAX_PSK_LEN
◆ IPSEC_PORT_END_ANY
◆ IPSEC_PORT_END_OPAQUE
◆ IPSEC_PORT_START_ANY
◆ IPSEC_PORT_START_OPAQUE
◆ IPSEC_PROTOCOL_ANY
◆ IPSEC_SPI_SIZE
◆ IPSEC_SUPPORT
◆ IpsecSadEntry
| #define IpsecSadEntry struct _IpsecSadEntry |
Enumeration Type Documentation
◆ IpsecAuthMethod
| enum IpsecAuthMethod |
◆ IpsecDfPolicy
| enum IpsecDfPolicy |
◆ IpsecDirection
| enum IpsecDirection |
◆ IpsecIdType
| enum IpsecIdType |
◆ IpsecMode
| enum IpsecMode |
◆ IpsecPfpFlags
| enum IpsecPfpFlags |
◆ IpsecPolicyAction
| enum IpsecPolicyAction |
◆ IpsecProtocol
| enum IpsecProtocol |
◆ IpsecSaState
| enum IpsecSaState |
Function Documentation
◆ ipsecClearPadEntry()
| error_t ipsecClearPadEntry | ( | IpsecContext * | context, |
| uint_t | index | ||
| ) |
◆ ipsecClearSadEntry()
| error_t ipsecClearSadEntry | ( | IpsecContext * | context, |
| uint_t | index | ||
| ) |
◆ ipsecClearSpdEntry()
| error_t ipsecClearSpdEntry | ( | IpsecContext * | context, |
| uint_t | index | ||
| ) |
◆ ipsecGetDefaultSettings()
| void ipsecGetDefaultSettings | ( | IpsecSettings * | settings | ) |
◆ ipsecInit()
| error_t ipsecInit | ( | IpsecContext * | context, |
| const IpsecSettings * | settings | ||
| ) |
◆ ipsecSetPadEntry()
| error_t ipsecSetPadEntry | ( | IpsecContext * | context, |
| uint_t | index, | ||
| IpsecPadEntry * | params | ||
| ) |
◆ ipsecSetSadEntry()
| error_t ipsecSetSadEntry | ( | IpsecContext * | context, |
| uint_t | index, | ||
| IpsecSadEntry * | params | ||
| ) |
◆ ipsecSetSpdEntry()
| error_t ipsecSetSpdEntry | ( | IpsecContext * | context, |
| uint_t | index, | ||
| IpsecSpdEntry * | params | ||
| ) |
