---
name: "rte_gso_ctx"
section: "3"
platform: "linux"
package: "dpdk-doc"
version: "24.11.4-0+deb13u1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/rte_gso_ctx"
---

# rte\_gso\_ctx(3)

## NAME

rte\_gso\_ctx

## SYNOPSIS

`#include <rte_gso.h>`

### Data Fields

struct **rte\_mempool** \* **direct\_pool**\
 struct **rte\_mempool** \* **indirect\_pool**\
 uint64\_t **flag**\
 uint32\_t **gso\_types**\
 uint16\_t **gso\_size**\

## Detailed Description

GSO context structure.

Definition at line **37** of file **rte\_gso.h**.

## Field Documentation

### struct rte\_mempool\* direct\_pool

MBUF pool for allocating direct buffers, which are used to store packet headers for GSO segments.

Definition at line **38** of file **rte\_gso.h**.

### struct rte\_mempool\* indirect\_pool

MBUF pool for allocating indirect buffers, which are used to locate packet payloads for GSO segments. The indirect buffer doesn't contain any data, but simply points to an offset within the packet to segment.

Definition at line **42** of file **rte\_gso.h**.

### uint64\_t flag

flag that controls specific attributes of output segments, such as the type of IP ID generated (i.e. fixed or incremental).

Definition at line **48** of file **rte\_gso.h**.

### uint32\_t gso\_types

the bit mask of required GSO types. The GSO library uses the same macros as that of describing device TX offloading capabilities (i.e. RTE\_ETH\_TX\_OFFLOAD\_\*\_TSO) for gso\_types.

For example, if applications want to segment TCP/IPv4 packets, set RTE\_ETH\_TX\_OFFLOAD\_TCP\_TSO in gso\_types.

Definition at line **52** of file **rte\_gso.h**.

### uint16\_t gso\_size

maximum size of an output GSO segment, including packet header and payload, measured in bytes. Must exceed RTE\_GSO\_SEG\_SIZE\_MIN.

Definition at line **61** of file **rte\_gso.h**.

## Author

Generated automatically by Doxygen for DPDK from the source code.
