DPL Release Notes
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.
DPL Development Container
Running and working with the container changed. See DPL Installation Guide.
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.
Supported RPC Messages
The following RPC messages are supported by the DPL Runtime daemon:
RPC Message | Support Details & Limitations |
Write RPC |
|
Read RPC | Batching: Supported |
Pipeline Config |
|
StreamChannel RPC |
Supported updates: |
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 |
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 | 1,992,187,500 | 16,777,216 | 3,984,375,000 | 33,554,432 |
Packets mode, 1 packet equals 128 bytes ⤶
Unsupported Features
The following P4 Runtime features are currently not supported in this release:
Category | Unsupported Items |
RPC Messages |
|
StreamChannel Updates |
|
Entities |
|
Reference | Issue |
P4DT-800 | Description: Programs using comparison operators are not supported and will result in an error. |
P4DT-859 |
Description: DPL Development scripts fail with the community edition of docker installed from |
4540834 | Description: Entries insertion/deletion rate may degrade when using tables with idle timeout or delayed counters. |
Discovered in version: 1.2.0 |
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:
| |
Reported in version: 1.2.0 | |
4437411 |
Description: Packets with broadcast MAC |
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 | |
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 |
The following are known limitations of the DPL Compiler.
Reference | Issue |
DPLCOMP-1848 |
Description:
The fields |
Workaround: Use a constant value (e.g., | |
Reported in version: 1.3.0 | |
DPLCOMP-2052 | Description: 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-2060 | Description: Sliced LPM key with a mask of all 1s fails to load. |
Workaround: None | |
Reported in version 1.5.0 | |
DPLCOMP-1149 | Description: Cycles in flex parser graph result in load failure with syndrome 0x178645 |
Workaround: None | |
Reported in version 1.3.0 | |
| DPLCOMP-2071 | Description: Building with debug points enabled (--debug-mode=auto or extern) or when the program explicitly calls the nv_send_debug_pkt() extern, a validation error: "<variable name>" is read without initialization due to a compiler optimization in at least one code path" may be incorrectly triggered. |
Workaround: Disable debugging | |
Reported in version 1.5.0 |