API Reference Manual  1.46.0
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. More...
 
struct {
   struct {
      odp_lso_modify_t   mod_op
 Field modify operation. More...
 
      uint32_t   offset
 Field offset in bytes from packet start.
 
      uint8_t   size
 Field size in bytes. More...
 
      union {
         struct {
            odp_lso_write_bits_t   first_seg
 bits to write in the first segment
 
            odp_lso_write_bits_t   middle_seg
 bits to write in middle segments
 
            odp_lso_write_bits_t   last_seg
 bits to write in the last segment
 
         }   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. More...
 

Detailed Description

LSO profile parameters.

Examples
odp_packet_gen.c.

Definition at line 1186 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 1197 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 1217 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 1225 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 1242 of file api/spec/packet_io_types.h.

◆ 

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: