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.4.4" |
#define | CYCLONE_IPSEC_MAJOR_VERSION 2 |
#define | CYCLONE_IPSEC_MINOR_VERSION 4 |
#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-2024 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.4.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 | ||
) |