Adaptive Retransmission: Parameters Control

ROCE_ACCL Layout and Relevant Field Description

image-2025-8-18_11-34-46-version-1-modificationdate-1755506076087-api-v2.png

ROCE_ACCL Register Layout

Offset

Bits

Name

Description

Access

00h

28

adp_retx_profile_select

In query, indicates that adp_retx_profile_id and adp_retx_profile are supported and valid.

In set, indicates that the profile indicated adp_retx_profile_id is modified with the parameters in adp_retx_profile.

RW

0

roce_adp_retrans_field_select

In Query, indicates if roce_adp_retrans mode is configurable.

In set, indicates roce_adp_retrans_en field is modified.

RW

04h

30:28

adp_retx_profile_id

The index of the adaptive-retransmission profile to query or to modify. Value 0 is reserved.

Valid if adp_retrans_timeouts_profile_select is set. Must comply with adp_retx_profile_max_id

Index

0

roce_adp_retrans_en

If set, the adaptive retransmission window functionality is enabled.

Valid only when roce_adp_retrans_field_select == 1.

RW

08h

30:28

adp_retx_profile_max_range_num

Maximal number of timeout ranges in adp_retx_profile

RO

26:24

adp_retx_profile_max_id

Maximal index supported for adp_retx_profile_id

RO

19:0

adp_retx_base_timeout_min

The minimal base-timeout value for adp_retx_profile, given in nano second units

RO

10h-3Ch

384

adp_retx_profile (Table 1004, “Adaptive Retransmission Profile Layout,” on page 1912)

Adaptive Retransmission profile

RW

image-2025-8-18_11-36-4-version-1-modificationdate-1755506153420-api-v2.png

Adaptive Retransmission Profile Layout

Offset

Bits

Name

Description

Access

00h

31

qp_total_timeout

If set, Total Retransmission Timeout will use QP parameters as timeout value, given by

QP.retry_count * QP.timeout or

QP.extended_retry_count * QP.timeout

If clr, retx_total_timeout is used

30:28

range_num

Number of valid ranges in timeout_range[] array

26:24

start_range_index

Index of timeout_range used as the first range following QP creation.

23:22

time_unit

Time granularity of time_base

0x1: TIME_USEC – microseconds

Other values are reserved

15:0

time_base

Base value for all time parameter, units defined by time_unit

04h

31:24

retx_total_timeout

Total Retransmission Timeout, given by base_time << retx_total_timeout

Valid if qp_total_timeout is 0x0.

15:8

timeout_init_low_bound

Lower bound for QP initial timeout randomization, given by base_time << timeout_init_low_bound

7:0

timeout_init_range_size

Upper bound for QP initial timeout randomization, given by base_time << (timeout_init_low_bound + timeout_init_range_size)

08h-14h

31:0

timeout_range[4]

(Table 1006, “Adaptive Retransmiss ion Timeout Range Layout,” on page 1167)

Array of timeout ranges. First range_num entries are valid.

image-2025-8-18_11-37-3-version-1-modificationdate-1755506212950-api-v2.png

Adaptive Retransmission Timeout Range Layout Layout

Offset

Bits

Name

Description

Access

00h

30:28

prev_range_index

Index of the timeout range to used when the current timeout is the range’s lower-bound, and timeout should be decreased

27:26

dec_mode

Defines the behavior of timeout decrease until lower bound is reached

0x0: TO_DIV_4

0x1: TO_DIV_2

0x2: TO_LOW_BOUND

Other values are reserved

25:16

timeout_retry_num

Number of consecutive retransmissions attempts with the same imeout value, before timeout is increased.

15:8

range_low_bound

Lower bound of the timeout range, given by base_time << range_low_bound

7:0

range_size

Upper bound of the timeout range given by base_time << (range_low_bound + range_size)

© Copyright 2025, NVIDIA. Last updated on Aug 18, 2025.