---
name: "rte_eth_hairpin_conf"
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_eth_hairpin_conf"
---

# rte\_eth\_hairpin\_conf(3)

## NAME

rte\_eth\_hairpin\_conf

## SYNOPSIS

`#include <rte_ethdev.h>`

### Data Fields

uint32\_t **peer\_count**:16\
 uint32\_t **tx\_explicit**:1\
 uint32\_t **manual\_bind**:1\
 uint32\_t **use\_locked\_device\_memory**:1\
 uint32\_t **use\_rte\_memory**:1\
 uint32\_t **force\_memory**:1\
 uint32\_t **reserved**:11\

## Detailed Description

**Warning**

**EXPERIMENTAL:** this API may change, or be removed, without prior notice

A structure used to configure hairpin binding.

Definition at line **1260** of file **rte\_ethdev.h**.

## Field Documentation

### uint32\_t peer\_count

The number of peers.

Definition at line **1261** of file **rte\_ethdev.h**.

### uint32\_t tx\_explicit

Explicit Tx flow rule mode. One hairpin pair of queues should have the same attribute.

- •

  When set, the user should be responsible for inserting the hairpin Tx part flows and removing them.

- •

  When clear, the PMD will try to handle the Tx part of the flows, e.g., by splitting one flow into two parts.

Definition at line **1272** of file **rte\_ethdev.h**.

### uint32\_t manual\_bind

Manually bind hairpin queues. One hairpin pair of queues should have the same attribute.

- •

  When set, to enable hairpin, the user should call the hairpin bind function after all the queues are set up properly and the ports are started. Also, the hairpin unbind function should be called accordingly before stopping a port that with hairpin configured.

- •

  When cleared, the PMD will try to enable the hairpin with the queues configured automatically during port start.

Definition at line **1285** of file **rte\_ethdev.h**.

### uint32\_t use\_locked\_device\_memory

Use locked device memory as a backing storage.

- •

  When set, PMD will attempt place descriptors and/or data buffers in dedicated device memory.

- •

  When cleared, PMD will use default memory type as a backing storage. Please refer to PMD documentation for details.

API user should check if PMD supports this configuration flag using

**See also**

**rte\_eth\_dev\_hairpin\_capability\_get**.

Definition at line **1298** of file **rte\_ethdev.h**.

### uint32\_t use\_rte\_memory

Use DPDK memory as backing storage.

- •

  When set, PMD will attempt place descriptors and/or data buffers in host memory managed by DPDK.

- •

  When cleared, PMD will use default memory type as a backing storage. Please refer to PMD documentation for details.

API user should check if PMD supports this configuration flag using

**See also**

**rte\_eth\_dev\_hairpin\_capability\_get**.

Definition at line **1311** of file **rte\_ethdev.h**.

### uint32\_t force\_memory

Force usage of hairpin memory configuration.

- •

  When set, PMD will attempt to use specified memory settings. If resource allocation fails, then hairpin queue allocation will result in an error.

- •

  When clear, PMD will attempt to use specified memory settings. If resource allocation fails, then PMD will retry allocation with default configuration.

Definition at line **1323** of file **rte\_ethdev.h**.

### uint32\_t reserved

Reserved bits.

Definition at line **1325** of file **rte\_ethdev.h**.

## Author

Generated automatically by Doxygen for DPDK from the source code.
