API Reference Manual  1.45.0
odp_ipsec_inbound_config_t Struct Reference

Configuration options for IPSEC inbound processing. More...

#include <ipsec_types.h>

Collaboration diagram for odp_ipsec_inbound_config_t:
[legend]

Data Fields

odp_queue_t default_queue
 Default destination queue for IPSEC events. More...
 
struct {
   uint32_t   min_spi
 Minimum SPI value for SA lookup. More...
 
   uint32_t   max_spi
 Maximum SPI value for SA lookup. More...
 
   odp_bool_t   spi_overlap
 Select if SPI values for SA lookup are unique or may contain the same SPI value multiple times. More...
 
lookup
 Constraints for SPI values used with inbound SA lookup. More...
 
odp_proto_layer_t retain_outer
 Retain outer headers. More...
 
odp_proto_layer_t parse_level
 Parse packet headers after IPSEC transformation. More...
 
odp_proto_chksums_t chksums
 Flags to control IPSEC payload data checks up to the selected parse level. More...
 
odp_reass_config_t reassembly
 Post-IPsec reassembly configuration. More...
 
odp_bool_t reass_async
 Attempt reassembly after inbound IPsec processing in odp_ipsec_in_enq(). More...
 
odp_bool_t reass_inline
 Attempt reassembly after inline inbound IPsec processing. More...
 

Detailed Description

Configuration options for IPSEC inbound processing.

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

Field Documentation

◆ default_queue

odp_queue_t odp_ipsec_inbound_config_t::default_queue

Default destination queue for IPSEC events.

When inbound SA lookup fails in the asynchronous mode, resulting IPSEC events are enqueued into this queue.

Examples
ipsec_api/odp_ipsec.c, odp_ipsec.c, and odp_ipsecfwd.c.

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

◆ min_spi

uint32_t odp_ipsec_inbound_config_t::min_spi

Minimum SPI value for SA lookup.

Default value is 0.

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

◆ max_spi

uint32_t odp_ipsec_inbound_config_t::max_spi

Maximum SPI value for SA lookup.

Default value is UINT32_MAX.

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

◆ spi_overlap

odp_bool_t odp_ipsec_inbound_config_t::spi_overlap

Select if SPI values for SA lookup are unique or may contain the same SPI value multiple times.

The default value is 0.

0: All SAs in SA lookup have unique SPI value 1: The same SPI value may be used for multiple SAs

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

◆ 

struct { ... } odp_ipsec_inbound_config_t::lookup

Constraints for SPI values used with inbound SA lookup.

Minimal SPI range and unique values may improve performance.

◆ retain_outer

odp_proto_layer_t odp_ipsec_inbound_config_t::retain_outer

Retain outer headers.

Select up to which protocol layer (at least) outer headers are retained in inbound inline processing. Default value is ODP_PROTO_LAYER_NONE.

ODP_PROTO_LAYER_NONE: Application does not require any outer headers to be retained.

ODP_PROTO_LAYER_L2: Retain headers up to layer 2.

ODP_PROTO_LAYER_L3: Retain headers up to layer 3, otherwise the same as ODP_PROTO_LAYER_ALL.

ODP_PROTO_LAYER_L4: Retain headers up to layer 4, otherwise the same as ODP_PROTO_LAYER_ALL.

ODP_PROTO_LAYER_ALL: In tunnel mode, all headers before IPSEC are retained. In transport mode, all headers before IP (carrying IPSEC) are retained.

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

◆ parse_level

odp_proto_layer_t odp_ipsec_inbound_config_t::parse_level

Parse packet headers after IPSEC transformation.

Select header parsing level after inbound processing. Headers of the resulting packet must be checked (at least) up to this level. Parsing starts from IP (layer 3). Packet metadata from IP to this layer is set. In addition, offset (and pointer) to the next layer is set. Other layer/protocol specific metadata have undefined values.

Each successfully transformed packet has a valid value for L3 offset regardless of the parse configuration. Default value is ODP_PROTO_LAYER_NONE. ODP_PROTO_LAYER_L2 is not a valid value.

Examples
ipsec_api/odp_ipsec.c, and odp_ipsecfwd.c.

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

◆ chksums

odp_proto_chksums_t odp_ipsec_inbound_config_t::chksums

Flags to control IPSEC payload data checks up to the selected parse level.

Checksum checking status can be queried for each packet with odp_packet_l3_chksum_status() and odp_packet_l4_chksum_status(). Default value for all bits is 0 (skip all checksum checks).

Examples
odp_ipsec.c.

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

◆ reassembly

odp_reass_config_t odp_ipsec_inbound_config_t::reassembly

Post-IPsec reassembly configuration.

This field provides global IPsec configuration parameters for fragment reassembly. The enable flag does not turn on reassembly but tells if reassembly may be enabled in SA parameters.

The enable flag may be set only if retain_outer is ODP_PROTO_LAYER_NONE.

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

◆ reass_async

odp_bool_t odp_ipsec_inbound_config_t::reass_async

Attempt reassembly after inbound IPsec processing in odp_ipsec_in_enq().

Default value is false.

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

◆ reass_inline

odp_bool_t odp_ipsec_inbound_config_t::reass_inline

Attempt reassembly after inline inbound IPsec processing.

Default value is false.

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


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