DPDK patches and discussions
 help / color / mirror / Atom feed
* NVIDIA roadmap for 24.03
@ 2023-12-07  9:29 Maayan Kashani
  2023-12-07 11:31 ` Maayan Kashani
  0 siblings, 1 reply; 2+ messages in thread
From: Maayan Kashani @ 2023-12-07  9:29 UTC (permalink / raw)
  To: dpdk-dev

[-- Attachment #1: Type: text/plain, Size: 3352 bytes --]

Please find below NVIDIA roadmap for 24.03 release:



A. rte_flow new APIs

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

  1.  Add NAT64 action.

Adding a new action for header re-write of NAT64.

NAT64 (Network Address Translation 64) is a networking technology that facilitates communication between IPv6 and IPv4 networks.

  1.  Support more modify fields of IP and TCP headers​.

Supporting IPv4 IHL & total length, IPv6 payload length and TCP data offset in the rte_flow modify field actions.​​

For example, by using the ADD operation, the length of the IP and TCP headers can be calculated. When it is equal to the total

length of an IP packet, it means that there is no encrypted header and the IPSec matching can be skipped.​

  1.  Template API performance tuning.

Improve code to enable faster rule insertion/deletion.​

Improve indexed pool management for faster allocations.​

  1.  Align the source port in the tunnel header calculation between SW and HW
When doing ECMP (Equal-Cost Multipath Routing) in the underlay network with a tunnel encapsulation,

for example, GENEVE, the outer UDP source port can be used as an identifier.

The source port calculation in the slow path SW and data path HW offloading should be aligned to solve the path selection mismatch.

  1.  Support compares two fields with rte_flow_item, including EQ/NE/LT/LE/GT/GE.

Adding new item RTE_FLOW_ITEM_TYPE_COMPARE to compare 2 fields with reusing the MODIFY_FIELD​

Provide a more flexible comparison.

  1.  Match random inside a range in template API.

Enable matching random inside a range. An enhancement of the random item matching. ​

Used for sampling the packets.

  1.  Support Geneve encap/decap and modify actions.
Added support for Geneve raw_encap/decap as well as Geneve options modify with template API in addition to previously supported match on Geneve options.

  1.  Support table resize in template API​.

The table size (maximal number of rules supported) is fixed when creating a template table and the ASO actions number is also fixed when configuring the port.​​

Reduce the number of tables to be created. Using rehash mechanism to handle the table resize for this stage.​​



B. Net/mlx5 PMD updates

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

  1.  Return detailed error if the match pattern cannot be created due to matching fields limit.

Different NIC generations has different matching size limits (number of matching fields).

Once application receive such error, it should perform relevant enhancements to build an

alternate matching pipe that fits to the NIC’s limits.

  1.  Support more than 32 ports for CT

No ports number limitation when creating an indirect connection tracking action in the template API.​

  1.  Support VXLAN-GPE matching

Support VXLAN-GPE matching in template API, including the flag and reserved bits.



C. Test apps updates

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

  1.  Support the changes in rte_flow listed above in testpmd.
  2.  Support hairpin with 4 physical ports in testpmd.

For Connectx -7 Nic's that support 4 physical ports, detect port number, and update hairpin logic to enable use of all ports.

Current testpmd enable sequential pair for hairpin, this feature is meant to enable any pair.

Regards,
Maayan Kashani


[-- Attachment #2: Type: text/html, Size: 25459 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

* RE: NVIDIA roadmap for 24.03
  2023-12-07  9:29 NVIDIA roadmap for 24.03 Maayan Kashani
@ 2023-12-07 11:31 ` Maayan Kashani
  0 siblings, 0 replies; 2+ messages in thread
From: Maayan Kashani @ 2023-12-07 11:31 UTC (permalink / raw)
  To: dpdk-dev

[-- Attachment #1: Type: text/plain, Size: 3568 bytes --]

Small correction, moved Geneve to mlx5 PMD updates.

Regards,
Maayan Kashani

From: Maayan Kashani
Sent: Thursday, 7 December 2023 11:29
To: dpdk-dev <dev@dpdk.org>
Subject: NVIDIA roadmap for 24.03


Please find below NVIDIA roadmap for 24.03 release:



A. rte_flow new APIs

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

  1.  Add NAT64 action.

Adding a new action for header re-write of NAT64.

NAT64 (Network Address Translation 64) is a networking technology that facilitates communication between IPv6 and IPv4 networks.

  1.  Support more modify fields of IP and TCP headers​.

Supporting IPv4 IHL & total length, IPv6 payload length and TCP data offset in the rte_flow modify field actions.​​

For example, by using the ADD operation, the length of the IP and TCP headers can be calculated. When it is equal to the total

length of an IP packet, it means that there is no encrypted header and the IPSec matching can be skipped.​

  1.  Template API performance tuning.

Improve code to enable faster rule insertion/deletion.​

Improve indexed pool management for faster allocations.​

  1.  Align the source port in the tunnel header calculation between SW and HW
When doing ECMP (Equal-Cost Multipath Routing) in the underlay network with a tunnel encapsulation,

for example, GENEVE, the outer UDP source port can be used as an identifier.

The source port calculation in the slow path SW and data path HW offloading should be aligned to solve the path selection mismatch.

  1.  Support compares two fields with rte_flow_item, including EQ/NE/LT/LE/GT/GE.

Adding new item RTE_FLOW_ITEM_TYPE_COMPARE to compare 2 fields with reusing the MODIFY_FIELD​

Provide a more flexible comparison.

  1.  Match random inside a range in template API.

Enable matching random inside a range. An enhancement of the random item matching. ​

Used for sampling the packets.

  1.  Support table resize in template API​.

The table size (maximal number of rules supported) is fixed when creating a template table and the ASO actions number is also fixed when configuring the port.​​

Reduce the number of tables to be created. Using rehash mechanism to handle the table resize for this stage.​​



B. Net/mlx5 PMD updates

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

  1.  Return detailed error if the match pattern cannot be created due to matching fields limit.

Different NIC generations has different matching size limits (number of matching fields).

Once application receive such error, it should perform relevant enhancements to build an

alternate matching pipe that fits to the NIC’s limits.

  1.  Support more than 32 ports for CT

No ports number limitation when creating an indirect connection tracking action in the template API.​

  1.  Support VXLAN-GPE matching

Support VXLAN-GPE matching in template API, including the flag and reserved bits.

  1.  Support Geneve encap/decap and modify actions.
Added support for Geneve raw_encap/decap as well as Geneve options modify with template API in addition to previously supported match on Geneve options.





C. Test apps updates

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

  1.  Support the changes in rte_flow listed above in testpmd.
  2.  Support hairpin with 4 physical ports in testpmd.

For Connectx -7 Nic's that support 4 physical ports, detect port number, and update hairpin logic to enable use of all ports.

Current testpmd enable sequential pair for hairpin, this feature is meant to enable any pair.

Regards,
Maayan Kashani


[-- Attachment #2: Type: text/html, Size: 26486 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-12-07 11:31 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-12-07  9:29 NVIDIA roadmap for 24.03 Maayan Kashani
2023-12-07 11:31 ` Maayan Kashani

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).