API Reference Manual 1.51.0
Loading...
Searching...
No Matches
odp_lso_profile_param_t Struct Reference

LSO profile parameters. More...

#include <packet_io_types.h>

Collaboration diagram for odp_lso_profile_param_t:
[legend]

Data Fields

odp_lso_protocol_t lso_proto
 Segmentation protocol.
 
struct { 
 
   struct { 
 
      odp_lso_modify_t   mod_op 
 Field modify operation. More...
 
      uint32_t   offset 
 Field offset in bytes from packet start. More...
 
      uint8_t   size 
 Field size in bytes. More...
 
      union { 
 
         struct { 
 
            odp_lso_write_bits_t   first_seg 
 bits to write in the first segment More...
 
            odp_lso_write_bits_t   middle_seg 
 bits to write in middle segments More...
 
            odp_lso_write_bits_t   last_seg 
 bits to write in the last segment More...
 
         }   write_bits 
 Parameters for ODP_LSO_WRITE_BITS operation.
 
      }  
 Operation specific parameters.
 
   }   field [ODP_LSO_MAX_CUSTOM
 Custom field to be modified by LSO.
 
   uint8_t   num_custom 
 Number of custom fields specified. More...
 
custom 
 Custom fields.
 

Detailed Description

LSO profile parameters.

Examples
odp_packet_gen.c.

Definition at line 1196 of file api/spec/packet_io_types.h.

Field Documentation

◆ lso_proto

odp_lso_protocol_t odp_lso_profile_param_t::lso_proto

Segmentation protocol.

Selects on which protocol LSO operation performs segmentation (e.g. IP fragmentation vs. TCP segmentation). When ODP_LSO_PROTO_CUSTOM is selected, only custom field modifications are performed. Packet content is not modified when a packet is not segmented.

The default value is ODP_LSO_PROTO_NONE. Check LSO capability for supported protocols.

Definition at line 1207 of file api/spec/packet_io_types.h.

◆ mod_op

odp_lso_modify_t odp_lso_profile_param_t::mod_op

Field modify operation.

Selects how value of the field is modified from its original value during segmentation. Field value is assumed to be in network (big endian) byte order.

Definition at line 1227 of file api/spec/packet_io_types.h.

◆ offset

uint32_t odp_lso_profile_param_t::offset

Field offset in bytes from packet start.

Definition at line 1230 of file api/spec/packet_io_types.h.

◆ size

uint8_t odp_lso_profile_param_t::size

Field size in bytes.

Valid values are 1, 2, 4, and 8 bytes. Must be set to 1 in ODP_LSO_WRITE_BITS operation.

Definition at line 1235 of file api/spec/packet_io_types.h.

◆ first_seg

odp_lso_write_bits_t odp_lso_profile_param_t::first_seg

bits to write in the first segment

Definition at line 1242 of file api/spec/packet_io_types.h.

◆ middle_seg

odp_lso_write_bits_t odp_lso_profile_param_t::middle_seg

bits to write in middle segments

Definition at line 1244 of file api/spec/packet_io_types.h.

◆ last_seg

odp_lso_write_bits_t odp_lso_profile_param_t::last_seg

bits to write in the last segment

Definition at line 1246 of file api/spec/packet_io_types.h.

◆ num_custom

uint8_t odp_lso_profile_param_t::num_custom

Number of custom fields specified.

The default value is 0.

Definition at line 1252 of file api/spec/packet_io_types.h.

◆ [struct]

struct { ... } odp_lso_profile_param_t::custom

Custom fields.

Set lso_proto to ODP_LSO_PROTO_CUSTOM when using custom fields. Fields are defined in the same order they appear in the packet.

Fields may not modify overlapping packet bytes except as follows:

  • An ODP_LSO_WRITE_BITS operation may modify the same byte as an ODP_LSO_ADD_* operation. In that case the write-bits operation is done after the add operation, overwriting some of the bits written by the add operation. Such write-bits field must appear after the overlapping add field.

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