DOCA SDK Documentation

DCQCN CC Parameters

This page provides the DCQCN configuration parameters supported by NVIDIA adapters. It details specific settings governing general operation, alpha updates, rate adjustments, and notification points for RoCE congestion control.

Configuration

The following parameters are supported by NVIDIA® ConnectX®-4 and later.

General

WinOF

MLNX_OFED

NVConfig (Firmware)

Description

Values

Default

DcQcnEnablePrio07

Enable

ROCE_CC_PRIO_MASK

Enables RoCE Congestion Control (DCQCN) on a specific priority

  • 1 – Enable

  • 0 – Disable

Enable

Alpha Update

WinOF

MLNX_OFED

NVConfig (Firmware)

Description

Unit

Values

Default

DcQcnDceAlphaG

dce_tcp_g

DCE_TCP_G

Every DcQcnDceAlphaUpdatePeriod α is updated.

If the CNP is received during this period, alpha is incremented. Otherwise, it is decremented.

  • Increment formula:

  • Decrement formula:

  • The rate decrement formula is:

Fixed point with 10 bits in the fraction part

0…1023

1019

DcQcnDceAlphaUpdatePeriod

dce_tcp_rtt

DCE_TCP_RTT

See above.

μsecs

1…131071

1

DcQcnInitialAlphaValue

initial_alpha_value

INITIAL_ALPHA_VALUE

This parameter sets the initial value of alpha that should be used when receiving the first CNP for a flow.

Fixed point with 10 bits in the fraction part

1…1023

1023

Rate Decrease

WinOF

MLNX_OFED

NVConfig (Firmware)

Description

Unit

Values

Default

DcQcnRateToSetOnFirstCnp

rate_to_set_on_first_cnp

RATE_TO_SET_ON_FIRST_CNP

Rates (current, target) on first CNP (0–85% of line rate).

Mb/s

0, 1…line rate [Mb/s]

0

DcQcnMinDecFac

rpg_min_dec_fac

RPG_MIN_DEC_FAC

This parameter defines the maximal ratio of rate decrease in a single event.

%

0…100

50

DcQcnMinRate

rpg_min_rate

RPG_MIN_RATE

This parameter defines the minimal rate limit of the QP.

Mb/s

1…line rate

1

DcQcnAlphaToRateShift

rpg_gd

RPG_GD

The coefficient between α and the rate reduction factor.

The rate decrement formula is:

Base-2 logarithm represented as a fixed-point number with 10 fractional bits. For example, a mathematical result of 2.0 is stored as 2048 (i.e., 2^11).

10..11

11

DcQcnRateReduceMonitorPeriod

rate_reduce_monitor_period

RATE_REDUCE_MONITOR_PERIOD

The time period between rate reductions.

μsecs

1…UINT32

4

Rate Increase

WinOF

MLNX_OFED

NVConfig (Firmware)

Description

Unit

Values

Default

DcQcnClampTgtRate

clamp_tgt_rate

CLAMP_TGT_RATE

If set, every rate decreases. The target rate is updated to the current rate.

Otherwise, the target rate is updated to the current rate only on the first decrement after the increment event.

None

  • Enable

  • Disable

Disable

DcQcnTimeReset

rpg_time_reset

RPG_TIME_RESET

The time period between rate increase events.

μsecs

1…131071

300

DcQcnByteReset

rpg_byte_reset

RPG_BYTE_RESET

The sent bytes counter between rate increase events.

64 bytes

1…32767

32767

DcQcnStageThreshold

rpg_threshold

RPG_THRESHOLD

The threshold of rate increase events for moving to next rate increase phase.

None

1…31

1

DcQcnAiRate

rpg_ai_rate

RPG_AI_RATE

The rate increase value in the Additive Increase phase.

Mb/s

1…line rate 

5

DcQcnHaiRate

rpg_hai_rate

RPG_HAI_RATE

The rate increase value in the Hyper Increase phase.

Mb/s

1…line rate 

50

Notification Point

WinOF

MLNX_OFED

NVConfig (Firmware)

Description

Values

Default

DcQcnCnpDscp

cnp_dscp

CNP_DSCP

This parameter sets the DSCP value for CNPs.

0...63

48

DcQcnCnp802pPrio

cnp_802p_prio

CNP_802P_PRIO

This parameter sets the PCP value for CNPs.

Set DcQcnCnpPrioMode to 0 to use this priority value.

0…7

6

DcQcnCnpPrioMode

Not required. This parameter is set automatically if value of of cnp_dscp and cnp_802p_prio is set.

N/A

If this parameter is set to 0, then use the configured priority for CNPs. Otherwise, the priority value of CNPs is taken from received data packets.

0/1

0

DcQcnMinTimeBetweenCnps

min_time_between_cnps

MIN_TIME_BETWEEN_CNPS

Minimum time between sending CNPs from the port, in μsecs.

0..4095

4

References

Last updated: