DOCA SDK Documentation

DPL Release Notes

1. Changes and New Features

This section describes the changes and new features in this software release.

General Features & Enhancements

  • Added support for modifying action parameters for both default and non-default entries.

2. Related Documentation

3. Capabilities and Limitations

3.1. General Constraints

  • P4 Controller support: Only one P4 Controller can be connected to the DPL Runtime daemon at a time.

  • Table and counter object sizes:

    • Must be a power of 2.

    • Must be smaller than 2²³.

    • A P4 table of size N allows for N-1 regular entries and 1 default entry.

3.2. Supported RPC Messages

The following RPC messages are supported by the DPL Runtime daemon:

RPC Message

Support Details & Limitations

Write RPC

  • Atomicity: Only CONTINUE_ON_ERROR is supported

  • Batching: Supported

Read RPC

Batching: Supported

Pipeline Config

SetForwardingPipelineConfig and GetForwardingPipelineConfig are supported.

StreamChannel RPC

Supported updates: PacketIn, PacketOut, IdleTimeoutNotification, StreamError.

3.3. Entity & Operation Support Matrix (Write/Read RPC)

Instead of listing operations and entities separately, developers can consult this matrix to see exactly what operations are permitted on which entity types.

Entity Type

Read RPC

Write RPC: INSERT

Write RPC: DELETE

Write RPC: MODIFY

TableEntry

Supported

Regular entries only

Regular entries only

Default entry only

CounterEntry (Direct/Indirect)

Supported

Unsupported

Unsupported

Supported

MeterEntry (Direct/Indirect)

Supported

Unsupported

Unsupported

Supported

3.4. Metering Limits

This table defines the maximum thresholds based on the selected mode.

Mode

Max CIR

Max CBurst

Max PIR

Max PBurst

Bytes

255,000,000,000

2,147,483,648

510,000,000,000

4,294,967,296

Packets

1,992,187,500

16,777,216

3,984,375,000

33,554,432

We don't have a way to export this macro.

3.5. Unsupported Features

The following P4 Runtime features are currently not supported in this release:

Category

Unsupported Items

RPC Messages

Capabilities RPC

StreamChannel Updates

  • MasterArbitrationUpdate

  • DigestList / DigestListAck

  • google.protobuf.Any

Entities

  • ExternEntry

  • ActionProfileMember

  • ActionProfileGroup

  • PacketReplicationEngineEntry

  • ValueSetEntry

  • RegisterEntry

  • DigestEntry

4. Bug Fixes

Reference

Issue

4540834

Description: Entries insertion/deletion rate may degrade when using tables with idle timeout or delayed counters.

Discovered in version: 1.2.0

5. DPL Runtime Daemon Known Issues

The following are known limitations of the DPL Runtime daemon service.

Reference

Issue

4259599

Description: Packets received with double VLAN tags (Dot1AD followed by Dot1Q) are processed with the tags in reversed order. This causes the hardware to misinterpret the inner and outer VLAN structure.

Workaround: Disable RX VLAN offload on the affected VF network device using the following command:

ethtool -K <vf_netdev> rxvlan off

Reported in version: 1.2.0

4437411

Description: Packets with broadcast MAC ff:ff:ff:ff:ff:ff transmitted from VFs are not supported by DPL actions nv_add_entry and nv_send_to_controller.

Workaround: N/A

Reported in version: 1.2.0

4439323

Description: Modifying eSwitch multiport mode (enable/disable) while DPL RT Service is active causes system hang.

Workaround: Stop the DPL RT Service before changing esw_multiport settings.

Reported in version: 1.2.0

1141

Description: Debugging packets from the second wire port P1 is not supported.

Workaround: Use wire port P0 for debugging packets.

Reported in version: N/A

6. DPL Compiler Known Issues

The following are known limitations of the DPL Compiler.

Reference

Issue

DPLCOMP-1848

Description: The fields ipv4.protocol and ipv6.next_header cannot be used as match keys in an nv_add_entry table.

Workaround: Use a constant value (e.g., NV_TCP_PROTOCOL) to define the protocol context instead of using the protocol field as a variable key.

Reported in version: 1.3.0

DPLCOMP-2026

Description: GRE encapsulation does not set the GRE key properly using a runtime parameter.

Workaround: None

Reported in version 1.4.0

DPLCOMP-2052

Description: Load failure with syndrome 0x178645: Multiple flex parser nodes with same field layout (bit offset and length for the selection field) may fail to load.

Workaround: None

Reported in version 1.5.0

DPLCOMP-2153

Description: Missing support for IPsec UDP tunnel mode.

Workaround: None

Reported in version 1.6.0

Last updated: