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.
DPL Development Container
-
Running and working with the container changed. See DPL Installation Guide.
Capabilities and Limitations
P4 Runtime
-
Table and Counter Object Size Constraints:
-
The size of any P4 table or counter object must be a power of 2, and smaller than 2²³.
-
A P4 table of size N allows for N-1 regular entries and 1 default entry.
-
-
P4 Controller Support:
-
Only one P4 Controller can be connected to the DPL Runtime daemon at a time.
-
-
RPC Message Support:
-
Supported RPC Messages:
-
Write RPC:
-
Only
CONTINUE_ON_ERRORatomicity is supported. -
Batching is supported.
-
Supported entities:
-
TableEntry
-
CounterEntry
-
DirectCounterEntry
-
MeterEntry
-
DirectMeterEntry
-
ExternEntry (NvPSP)
-
-
INSERT Operation:
-
Supports regular entries only.
-
-
DELETE Operation:
-
Supports regular entries only.
-
-
MODIFY Operation:
-
Supports both default and non-default table entries.
-
Limited to IdleTimeout and supported action parameters
@modifaiableannotated in the program. -
Changing the action itself is not supported.
-
-
Supports indirect and direct counter entries.
-
Supports indirect and direct meter entries.
-
Metering Limits:
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.
-
-
-
Read RPC:
-
-
Batching is supported.
-
Supported entities:
-
TableEntry
-
CounterEntry
-
DirectCounterEntry
-
MeterEntry
-
DirectMeterEntry
-
ExternEntry (NvPSP)
-
-
-
SetForwardingPipelineConfig RPC
-
GetForwardingPipelineConfig RPC
-
StreamChannel RPC:
-
PacketIn
-
PacketOut
-
IdleTimeoutNotification
-
StreamError
-
-
-
Unsupported RPC Messages:
-
Capabilities RPC
-
-
Unsupported Entities:
-
ActionProfileMember
-
ActionProfileGroup
-
PacketReplicationEngineEntry
-
ValueSetEntry
-
RegisterEntry
-
DigestEntry
-
-
Unsupported StreamChannel Request/Response Updates:
-
MasterArbitrationUpdate
-
DigestList / DigestListAck
-
google.protobuf.Any
-
-
-
Bug Fixes
|
Reference |
Issue |
|---|---|
|
4280302 |
Description: Concurrent counter reads from multiple threads by a P4Runtime client could theoretically lead to race conditions and incorrect results. |
|
Discovered in version: 1.1.0 |
|
|
4467130 |
Description: API |
|
Discovered in version: 1.1.0 |
|
|
4467855 |
Description: Direct counter data for some table entries may be missing from the output of the |
|
Discovered in version: 1.1.0 |
|
|
4548630 |
Description: DPL RT Service erroneously allows inserting entries into keyless tables (tables defined without keys in the DPL program). |
|
Discovered in version: 1.1.0 |
|
|
4552694 |
Description: DPL RT Service fails to correctly configure default actions for tables forwarding to High Update Rate tables, leading to packet drops when entries are missing. |
|
Discovered in version: 1.1.0 |
|
|
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 |
DPL Runtime Daemon Known Issues
The following are known limitations of the DPL Runtime daemon service.
|
Reference |
Issue |
|---|---|
|
4400696 |
Description: The total resource for hardware counters is limited to 16 million (16M) counters across the hardware. A portion of this total capacity is reserved by the kernel driver, which reduces the number of counters available for user applications. If user applications attempt to allocate more than the remaining available count, it will cause counter allocation failures. |
|
Workaround: N/A |
|
|
Reported in version: 1.2.0 |
|
|
4417192 |
Description: Counter resources dedicated to Header actions (e.g., used for flow counting) are limited to 16 million (16M) hardware counters in total. The number of usable counters for user applications is significantly reduced because a portion of this 16M capacity is permanently reserved by the kernel driver. Attempting to exceed the available count for header action counters will result in insertion failures when defining new flows. |
|
Workaround: N/A |
|
|
Reported in version: 1.2.0 |
|
|
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 |
|
|
4540834 |
Description: Entries insertion/deletion rate may degrade when using tables with idle timeout or delayed counters. |
|
Workaround: Adjust the polling interval to balance accuracy and performance on the DPL admin tool using:
|
|
|
Reported in version: 1.2.0 |
|
|
4548632 |
Description: 32M sized table is not supported. |
|
Workaround: Use 2 16M tables. |
|
|
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 |
DPL Compiler Known Issues
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 |
Last updated: