DPL Release Notes
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.
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 entry
Mode
max cir/pir
max cburst/pburst
BYTES
255000000000
80000000
PACKETS*
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
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 |
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 |