Please find below NVIDIA roadmap for 23.11 release: A. rte_flow new APIs ================= 1. Support color-aware mode for meters in shared actions list Support meter color updates based on traffic BW. Additionally, enable use of shared (indirect) meters as part of shared action lists 1. Add IPv6 extension push & remove actions. Add new rte_flow actions to support push/remove IPv6 extension header.​ 1. Add template API new rte_flow function for hash calculation to enable SW applications to use the same hash as calculated in HW. This capabiity enables alignment of hash values between HW pipelines and SW pipelines, so partial offloads pipes can be aligned with offloaded pipes and use the same hash value. When an application uses hash-based insert by index, the flow of the packet depends on the calculated hash. For packets that belong to the same flow but passed through the SW such hash was not calculated. In this case, application can calculate the same hash as the HW does before sending it to the wire.​ 1. Support group default missaction A group's miss actions are a set of actions to be performed in case of a miss on a group, meaning a packet didn't hit any rules in the group. This new API function allows a user to set a group's miss actions in an explicit way, reducing number of hops and increasing pps in case of handling misses. 1. Add RTE_FLOW_ITEM_TYPE_PTYPE to allow matching on L2/L3/L4 and tunnel information as defined in mbuf. The packet type matching provides quick way of finding out L2/L3/L4 protocols in each packet. That helps with optimized flow rules matching, eliminating the need of stacking all the packet headers in the matching criteria. As part of this feature a new packet type will be added for ESP. 1. Adding 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. B. Net/mlx5 PMD updates ===================== All new APIs implemented above will be supported in mlx5. Other features described below: 1. Provide additional 3 tags in the new generation NICs with rte_flow template API​. With template API, 3 tags are available in extended meta mode (dv_xmeta_en=4) and 5 tags are available in legacy mode for offloading. Starting with ConnectX-7 / BlueField-3, additional 3 tags are exposed and can be used for matching and modification as the other tags. By incorporating additional tags, the application gains greater flexibility to accommodate a wide range of use cases by enriching the packets with contextual data. This enables better abstraction of applications and streamlines the pipelines. 1. Support parsing of VXLAN-gpe with NSH VXLAN-gpe with variable Network Service Headers (NSH) offers greater flexibility compared to certain other protocols, such as GRE.​ The presence of an NSH header can be checked and matched, without matching any specific field of the NSH. Then the inner header can also be matched and used as RSS fields. The VXLAN-gpe with a variable NSH can be parsed and recognized by the NIC. In the rte_flow non-template API, the presence of NSH can be matched. The inner header after VXLAN-gpe and NSH can be used for matching and for RSS hash fields.​ In the rte_flow non-template API, The VXLAN-gpe with a variable NSH can be parsed and recognized by the NIC. The presence of NSH header can be matched and the inner header after VXLAN-gpe and NSH can be used for matching and for RSS hash fields.​ 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. Extend mirror action to support mirroring from FDB to queue/RSS. Enable packets steering from FDB domain to SW through supporting explicit PORT_REPRESENTOR action for steering to SW. Useful for mirroring use case in which mirrored packets need to be destined to the SW for diagnostic.​ 1. Support sharing raw_encap/decap action with indirect action handle. In some cases when using template API, large number of rules have the same encap/decap actions characteristics. To reduce the number of encap/decap instances, we provide a method to share the encap/decap actions amongst the different rules through definition of these shared encap/decap actions as indirect (stand-alone) entities that are reused and shared by multiple rules. This indirect encap/decap action will be shared by different flow rules among different tables. ​ Using this method, memory footprint and cache-misses would be reduced, increasing overall PPS and enabling use of higher scale of flows through optimized resources. ​ 1. Reuse encap/modify actions for different templates. Allows for a reduction in memory footprint when *multiple* action *templates* with encap/modify actions are shared for the same match. Rather than allocating memory and hardware resources separately for each action template, this enables efficient sharing of resource allocation for all the action templates, resulting in more optimized resource utilization. 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 hairpin with 4 physical ports 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. 1. Add queue counter statistics to hairpin queues. For Connectx-7 and above, enable SW to query hairpin drops per queue instead of a global counter. 1. Multiport e-switch support Enable e-switch to route traffic between 2 different physical ports. Before, FDB implementation was per PF. This feature implements a shared FDB that allows entering rules that apply to different PF's such that the traffic could be routed to any of these PF's. 1. Support shared indirect QUOTA action. C. Test apps updates ================= 1. Support the changes in rte_flow listed above in testpmd. Including verify of IPv6 extension push & remove actions. Regards, Maayan Kashani