Please find below NVIDIA roadmap for 23.07 release:


A. rte_flow new APIs

=================

[1] Updated existing rule's actions in flow template API table​.

Value:     The user can update an existing flow action in flight directly 
without removing an old rule entry and then inserting a new one.​

The update of action can have a different actions list.​

To update the actions for a given flow entry, support all types of actions but 
only with optimize by index matcher​.

ethdev: add flow rule actions update API:

https://patchwork.dpdk.org/project/dpdk/patch/20230418195807.352514-1-akozy...@nvidia.com/



[2] Support Quota flow action and item

Value: allow setting a flow or multiple flows to share a volume quota in which 
traffic usage can be monitored by the application to assure usage is permitted 
up to a predefined limit

The Quota action limits traffic according to pre-defined configuration.​

The quota action updates the ‘quota’ value and sets packet quota state (PASS or 
BLOCK).​

The quota item matches on the flow quota state. ​

ethdev: add quota flow action and item:

https://patches.dpdk.org/project/dpdk/patch/20221221073547.988-2-getel...@nvidia.com/



[3] add IPv6 extension push remove.

app/testpmd: add IPv6 extension push remove cli:

https://patchwork.dpdk.org/project/dpdk/patch/20230417092540.2617450-3-rongw...@nvidia.com/

ethdev: add IPv6 extension push remove action:

https://patchwork.dpdk.org/project/dpdk/patch/20230417022630.2377505-2-rongw...@nvidia.com/

Add new flow actions to support push/remove IPv6 extension header.



[4] Flow template API Geneve plus options support

Value: ​Supported in non-template API, adding support to the template API.

User needs to support more than one TLV option headers for their network​.

The private and dedicated APIs are used to handle the parsers on CX-* and BF-*. 
This will not only provide the comparability, but also extends the 
functionality compared to the non-template API. E.g., more than one TLV option 
header can be supported, and more fields can be modified, the source and 
destination can both be the option headers.​

To support the standard and customized Geneve and Geneve opt​.

ethdev: extend modify field API (For MPLS and GENEVE):

https://patchwork.dpdk.org/project/dpdk/cover/20230420092145.522389-1-michae...@nvidia.com/



[5] Local / Remote mirroring support in flow template API

Value:​ A parity of the mirroring support with non-template API​. In addition, 
support also multiple ports mirroring with template API. Multiple destinations 
can be supported, and the local and remote mirroring can both be in the same 
rule. This would provide more diagnostic and lawful interception abilities to 
the cloud infrastructure applications.​

ethdev: add indirect list flow action:

https://patches.dpdk.org/project/dpdk/patch/20230418172144.24365-1-getel...@nvidia.com/



[6] vRoCE feature: need able to monitor Cloud guest RoCE (RDMA Over Converged 
Ethernet) stats on Cloud provider side (ECN/CNP)​

Value:​ The guest RoCE traffic (UDP dport 4791) needs support matching and 
monitors in the provider application side. With the new item support, RoCE 
traffic with specific patterns can be countered with COUNT action and the 
statistic results is visible in the provider on the host or BareMetal on DPU 
side. More actions can be supported as well, not only for counter.

User can count the number of ROCE packets.

ethdev: add flow item for RoCE infiniband BT.

http://patches.dpdk.org/project/dpdk/patch/20230324032615.4141031-1-dongz...@nvidia.com/





B. Net/mlx5 PMD updates

=====================

[1] DPDK Protection of burst non-raising order.

Value: ​In accurate scheduling the packets may be rescheduled before sending, 
it is the user’s responsibility to ensure the timestamps of packets to be 
rescheduled are in ascending order when pushing the WQE. Or else the hardware 
would not be able to perform scheduling correctly. A software counter has been 
added to record the application errors in such case. It will give more insights 
and help to debug when such error occurs.

net/mlx5: introduce Tx datapath tracing:

http://patches.dpdk.org/project/dpdk/cover/20230420100803.494-1-viachesl...@nvidia.com/



[2] Added flow offload action to route packets to kernel.

Value:​ A parity of the support in non-template API. It allows an application 
to re-route packets directly to the kernel without software involvement.

net/mlx5/hws: support dest root table action:

https://patches.dpdk.org/project/dpdk/patch/20230320141229.104748-1-hamd...@nvidia.com/



[3] Forward to SW packets that are too big for encap (match on size > X)​

Value:​ In some customer environments it is not possible to control the MTU 
size and if packets are about to be encapsulated their final length might 
exceed the MTU size.

It can be used to identify packets that are longer than predefined size.

Add support for IP length range matching (IPv4/IPv6) for flow template API.



[4] Support MPLS modify in flow template API table for BlueField-3

Value:    Enhanced MPLS offload to support modify field. The modify can support 
up-to-5 levels in case that more than 1 MPLS labels exists.

Modify fields support for MPLS (support encap/decap/modify fields, no push/pop 
supported), Supports flow Template API.

net/mlx5: add MPLS modify field support:

https://patchwork.dpdk.org/project/dpdk/patch/20230420094347.523784-1-michae...@nvidia.com/



[5] Setting RTE_MAX_MEMZONE during run time.

Value: RTE_MAX_MEMZONE represent the maximum number of allocations in the 
mempool(max control entries to be saved).

In current DPDK the RTE_MAX_MEMZONE definition is hard

coded to 2560.  Setting the max value via a rte flow API will enable.

upper application that uses the DPDK mempool library to use higher number of 
mempool allocations.

Customize max memzone definition at run-time.

lib: set/get max memzone segments:

https://patches.dpdk.org/project/dpdk/patch/20230419083634.2027689-1-ophi...@nvidia.com/



[6] Tx data path tracing feature

This feature provides the capability to gather the comprehensive information 
about packets handling in PMD with timings, including the packet sending 
completion ones.

net/mlx5: introduce Tx datapath tracing:

http://patches.dpdk.org/project/dpdk/cover/20230420100803.494-1-viachesl...@nvidia.com/





C. Test apps updates

=================

[1] Support the changes in rte_flow listed above in testpmd.





 D. crypto

=========

[1] Support AES GCM:

Value: Enables encryption and integrity check of additional authenticated data 
(AAD) with AES GCM.

 crypto/mlx5: support AES-GCM:
https://patches.dpdk.org/project/dpdk/list/?series=27756


Regards,
Maayan Kashani

Reply via email to