API Reference Manual  1.45.0
odp_ipsec_sa_param_t Struct Reference

IPSEC Security Association (SA) parameters. More...

#include <ipsec_types.h>

Collaboration diagram for odp_ipsec_sa_param_t:
[legend]

Data Fields

odp_ipsec_dir_t dir
 IPSEC SA direction: inbound or outbound.
 
odp_ipsec_protocol_t proto
 IPSEC protocol: ESP or AH. More...
 
odp_ipsec_mode_t mode
 IPSEC protocol mode: transport or tunnel.
 
odp_ipsec_crypto_param_t crypto
 Parameters for crypto and authentication algorithms.
 
odp_ipsec_sa_opt_t opt
 Various SA option flags.
 
odp_ipsec_lifetime_t lifetime
 SA lifetime parameters.
 
uint32_t spi
 SPI value.
 
odp_queue_t dest_queue
 Destination queue for IPSEC events. More...
 
void * context
 User defined SA context pointer. More...
 
uint32_t context_len
 Context data length. More...
 
struct {
   struct {
      odp_ipsec_lookup_mode_t   lookup_mode
 SA lookup mode The default value is ODP_IPSEC_LOOKUP_DISABLED.
 
      struct {
         odp_ipsec_ip_version_t   ip_version
 Select IP version.
 
         void *   dst_addr
 IP destination address (NETWORK ENDIAN) to be matched in addition to SPI value.
 
      }   lookup_param
 Additional SA lookup parameters. More...
 
      uint32_t   antireplay_ws
 Minimum anti-replay window size. More...
 
      odp_ipsec_pipeline_t   pipeline
 Select pipelined destination for resulting events. More...
 
      odp_cos_t   dest_cos
 Classifier destination CoS for resulting packets. More...
 
      odp_bool_t   reassembly_en
 Enable reassembly of IPsec tunneled fragments. More...
 
   }   inbound
 Inbound specific parameters.
 
   struct {
      odp_ipsec_tunnel_param_t   tunnel
 Parameters for tunnel mode.
 
      odp_ipsec_frag_mode_t   frag_mode
 Fragmentation mode The default value is ODP_IPSEC_FRAG_DISABLED.
 
      uint32_t   mtu
 MTU for outbound IP fragmentation offload. More...
 
   }   outbound
 Outbound specific parameters.
 
}; 
 IPSEC SA direction dependent parameters.
 

Detailed Description

IPSEC Security Association (SA) parameters.

Examples
odp_ipsec.c, and odp_ipsecfwd.c.

Definition at line 837 of file api/spec/ipsec_types.h.

Field Documentation

◆ proto

odp_ipsec_protocol_t odp_ipsec_sa_param_t::proto

IPSEC protocol: ESP or AH.

The default value is ODP_IPSEC_ESP.

Examples
odp_ipsec.c.

Definition at line 842 of file api/spec/ipsec_types.h.

◆ dest_queue

odp_queue_t odp_ipsec_sa_param_t::dest_queue

Destination queue for IPSEC events.

Operations in asynchronous or inline mode enqueue resulting events into this queue. The default queue ('default_queue') is used when SA is not known.

Examples
odp_ipsec.c, and odp_ipsecfwd.c.

Definition at line 865 of file api/spec/ipsec_types.h.

◆ context

void* odp_ipsec_sa_param_t::context

User defined SA context pointer.

User defined context pointer associated with the SA. The implementation may prefetch the context data. Default value of the pointer is NULL.

Definition at line 873 of file api/spec/ipsec_types.h.

◆ context_len

uint32_t odp_ipsec_sa_param_t::context_len

Context data length.

User defined context data length in bytes for prefetching. The implementation may use this value as a hint for the number of context data bytes to prefetch. Default value is zero (no hint).

Definition at line 881 of file api/spec/ipsec_types.h.

◆ 

struct { ... } odp_ipsec_sa_param_t::lookup_param

Additional SA lookup parameters.

Values are considered only in ODP_IPSEC_LOOKUP_DSTADDR_SPI lookup mode.

◆ antireplay_ws

uint32_t odp_ipsec_sa_param_t::antireplay_ws

Minimum anti-replay window size.

Use 0 to disable anti-replay service. The default value is 0.

Definition at line 908 of file api/spec/ipsec_types.h.

◆ pipeline

odp_ipsec_pipeline_t odp_ipsec_sa_param_t::pipeline

Select pipelined destination for resulting events.

Asynchronous and inline modes generate events. Select where those events are sent. Inbound SAs may choose to use pipelined classification. The default value is ODP_IPSEC_PIPELINE_NONE.

Definition at line 917 of file api/spec/ipsec_types.h.

◆ dest_cos

odp_cos_t odp_ipsec_sa_param_t::dest_cos

Classifier destination CoS for resulting packets.

Successfully decapsulated packets are sent to classification through this CoS. Other resulting events are sent to 'dest_queue'. This field is considered only when 'pipeline' is ODP_IPSEC_PIPELINE_CLS. The CoS must not be shared between any pktio interface default CoS. The maximum number of different CoS supported is defined by IPSEC capability max_cls_cos.

Definition at line 930 of file api/spec/ipsec_types.h.

◆ reassembly_en

odp_bool_t odp_ipsec_sa_param_t::reassembly_en

Enable reassembly of IPsec tunneled fragments.

Attempt reassembly of fragments after IPsec tunnel decapsulation.

Reassembly is attempted for inline or asynchronously processed packets, not for packets processed using the synchronous API function.

Fragments received through different SAs will not be reassembled into the same packet.

IPsec statistics reflect IPsec processing before reassembly and thus count all individual fragments.

Reassembly may be enabled for an SA only if reassembly was enabled in the global IPsec configuration.

Default value is false.

See also
odp_ipsec_config()

Definition at line 956 of file api/spec/ipsec_types.h.

◆ mtu

uint32_t odp_ipsec_sa_param_t::mtu

MTU for outbound IP fragmentation offload.

This is the maximum length of IP packets that outbound IPSEC operations may produce. The value may be updated later with odp_ipsec_sa_mtu_update().

Definition at line 976 of file api/spec/ipsec_types.h.


The documentation for this struct was generated from the following file: