API Reference Manual  1.45.0
ODP REASSEMBLY

API Description

Reassembly.

Data Structures

struct  odp_reass_capability_t
 Reassembly capabilities. More...
 
struct  odp_reass_config_t
 Fragment reassembly configuration. More...
 

Typedefs

typedef struct odp_reass_capability_t odp_reass_capability_t
 Reassembly capabilities.
 
typedef struct odp_reass_config_t odp_reass_config_t
 Fragment reassembly configuration. More...
 

Typedef Documentation

◆ odp_reass_config_t

Fragment reassembly configuration.

Configure inline fragment reassembly offload support. Fragment reassembly offload can be enabled in IPSEC and PKTIN operations.

When the offload is enabled, fragments will be delayed for a specified time period to allow reassembly.

Reassembly result will be delivered to the application through an ODP packet with reassembly metadata. odp_packet_reass_status() can be used to query if reassembly has been attempted and if reassembly was successfully completed.

In case of successful reassembly, the reassembled packet is delivered to the receiver as a regular ODP packet as if the reassembled packet was received as such. When reassembly is enabled in pktio, it will be attempted before other offloads such as packet parsing, inline IPsec and classification.

In case of failed reassembly, the result is delivered to the application as a special packet that does not contain valid packet data. Such a packet can be used to get information of the incomplete reassembly so that the application can try to retry or continue the reassembly. See odp_packet_reass_partial_state().

Reassembly may not complete if not all fragments were received in time but also for packet parsing difficulty, fragment overlap, resource shortage or other reasons. In such cases, application may receive packets with reassembly status as either ODP_PACKET_REASS_NONE or ODP_PACKET_REASS_INCOMPLETE.

This structure is used only for configuration, not for capability query even though it is indirectly contained in odp_pktio_capability_t. The content of odp_pktio_capability_t.config.reassembly written by odp_pktio_capability() is undefined. Reassembly capabilities of a pktio can be checked through odp_pktio_capability_t.reassembly.

See also
odp_packet_reass_status(), odp_packet_reass_partial_state()