Changes and New Features
This section describes the changes and added features between preliminary release (Jan. 2025) and this beta v1.1.0 release.
-
Extern support for calculating a CRC32 hash over a custom set of header fields
-
Extern for setting L2 Ethertype field and L3 protocol field
-
Removal of externs to set and decrement IP TTL. These fields can be set directly with an assignment expression or decrement operator.
-
Extern to push and pop new headers into the packet (experimental feature)
-
Extern to force a reparse after pushing and popping headers
-
Capability to add entries to a DPL table from the data plane based on the current packet (beta level feature)
-
DPL table support for entry idle timeout. The timeout value can be set via P4Runtime.
-
Support for delayed counter statistics that perform a lazy read of counter values
-
Support for high update rate tables. These tables are managed via a DPL Runtime Controller SDK and not through P4Runtime.
Capabilities and Limitations
P4 Runtime
-
The size of any P4 table or counter object must be a power of 2 and smaller than 223
-
The combined size of all P4 tables and counter objects must be smaller than 224
-
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 given time
-
-
RPC messages support:
-
Supported RPC messages:
-
Write RPC:
-
Only CONTINUE_ON_ERROR atomicity is supported
-
Batching is supported
-
Supported entities:
-
TableEntry
-
CounterEntry
-
DirectCounterEntry
-
MeterEntry
-
DirectMeterEntry
-
-
INSERT operation:
-
Supports regular entries only
-
-
DELETE operation:
-
Supports regular entries only
-
-
MODIFY operation:
-
Supports default entry only
-
Supports indirect and direct counter entry
-
Supports indirect and direct meter entryModemax cir/pirmax cburst/pburstBYTES255000000000 80000000PACKETS* 1992187500 625000* In packets modem, packet=128 bytes
-
-
-
Read RPC:
-
Batching is supported
-
Supported entities:
-
TableEntry
-
CounterEntry
-
DirectCounterEntry
-
MeterEntry
-
DirectMeterEntry
-
-
-
SetForwardingPipelineConfig RPC
-
GetForwardingPipelineConfig RPC
-
StreamChannel RPC
-
PacketIn
-
PacketOut
-
IdleTimeoutNotification
-
StreamError
-
-
-
Unsupported RPC messages:
-
Capabilities RPC
-
Unsupported entities:
-
ExternEntry
-
ActionProfileMember
-
ActionProfileGroup
-
PacketReplicationEngineEntry
-
ValueSetEntry
-
RegisterEntry
-
DigestEntry
-
-
Unsupported StreamChannel Request/Response updates:
-
MasterArbitrationUpdate
-
DigestList and DigestListAck
-
google.protobuf.Any
-
-
-
Bug Fixes
|
Reference |
Issue |
|---|---|
|
4294992 |
Description: If the configuration file refers to interfaces which do not exist, the error is only reported when loading a program. |
|
Fixed in version: dpl_rt_service-1.1.0 |
|
|
J725 |
Description: Filtering for size causes the Dissector in DPL Debugger to display wrong fields. |
|
Fixed in version: dpl_rt_service-1.1.0 |
|
|
J1223 |
Description: Debug packets are supported only on the first wire_port configured during device configuration. |
|
Fixed in version: dpl_rt_service-1.1.0 |
Known Issues
The following are known limitations of the DPL Runtime daemon service.
|
Reference |
Issue |
|---|---|
|
4439323 |
Description: Changing the status of eSwitch multiport mode (esw_multiport enabled/ disabled) while the DPL RT Service is running leads to a hang when updating entries or loading a new DPL program. |
|
Workaround: N/A. Make sure to stop the DPL RT Service before applying any change to the esw_multiport configurations. |
|
|
Keyword: eSwitch; multiport; DPL RT service |
|
|
Reported in version: 1.1.0 |
|
|
4417192 |
Description: Modify header resource is limited to 16M counters in hardware. Since some of the counters are used by the Kernel driver, not all 16M are available to modify header. |
|
Workaround: N/A |
|
|
Keyword: Modify header |
|
|
Reported in version: 1.1.0 |
|
|
4400696 |
Description: Counter resource is limited to 16M counters in hardware. Since some of the counters are used by the Kernel driver, not all 16M are available to Counter resource. |
|
Workaround: N/A |
|
|
Keyword: Counter resource |
|
|
Reported in version: 1.1.0 |
|
|
4280302 |
Description: (Rare, theoretical) A potential race condition can occur and incorrect results can be reported if a P4Runtime client reads counters from multiple threads concurrently. |
|
Workaround: N/A |
|
|
Keyword: P4Runtime client; counter read; race |
|
|
Reported in version: 1.1.0 |
|
|
J1141 |
Description: Debugging packets from the second wire port P1 is not supported. |
|
Workaround: Use wire port P0 for debugging packets. |
|
|
Keyword: Debug; P1 (port) |
|
|
Reported in version: Jan 2025 |
Last updated: