Hi Joydeep Ghosh, Thank you so much, I will try your method.
Thanks, fuxiang ________________________________ 发件人: [email protected] <[email protected]> 代表 Joydeep Ghosh via lists.fd.io <[email protected]> 发送时间: 2025年11月19日 5:42 收件人: [email protected] <[email protected]> 主题: Re: [vpp-dev] Bidirectional RSS and [DPDK rte_flow] in VPP hi fuxian , we were able to do it by modifying dpdk_device_setup function to use the conf structure to set the rss key like below struct rte_eth_dev_info dev_info; rte_eth_dev_info_get(xd->port_id, &dev_info); /* Enable RSS mode */ conf.rxmode.mq_mode = RTE_ETH_MQ_RX_RSS; /* Configure RSS parameters */ conf.rx_adv_conf.rss_conf.rss_key = my_rss_key; conf.rx_adv_conf.rss_conf.rss_key_len = sizeof(my_rss_key); /* Select hash functions supported by the NIC */ conf.rx_adv_conf.rss_conf.rss_hf = RTE_ETH_RSS_IP | RTE_ETH_RSS_UDP | RTE_ETH_RSS_TCP; Maybe there is a better way to do without Modifying the code , i am not sure about that On Tue, Nov 18, 2025 at 1:01 PM fuxiang yan via lists.fd.io<http://lists.fd.io> <[email protected]<mailto:[email protected]>> wrote: Hi all, We are meeting this issue too. Would you please give us some comments or advice? Here is the detail of this issue (copy from topic: Bidirectional RSS and [DPDK rte_flow]/[Intel DDP] in VPP): We are encountering an issue with configuring symmetric hash functions for RSS in our VPP-DPDK setup. In the past, we successfully calculated symmetric Toeplitz hash keys in software and ensured that forward and reverse tuples of the same connection were mapped to the same DPDK worker (VPP not used in that project). However, while attempting to replicate this functionality using VPP with hardware support for symmetric Toeplitz hashing, we have run into difficulties. In VPP, direct use of DPDK functions to configure RSS hashing and Rx queues is not possible due to the abstraction layer provided by the vnet flow mechanism. Although we have reviewed the source code and found it generally aligned with our requirements, we have been unable to achieve a proper RSS-to-queue mapping with a symmetric hash function (it doesn’t have to be Toeplitz but must be symmetric). Below are the specific tests we conducted: Tests Conducted Intel E810 Cards With Intel E810 cards, RSS hashing in VPP appears to work; however, we faced SFP compatibility issues in our lab, so we couldn't fully verify the functionality. The following command executes without errors for IPv4 but fails for IPv6: ``` test flow add dst-ip any proto udp rss function symmetric_toeplitz rss types ipv4-udp use l4-src-only and l4-dst-only rss queues 0 to 15 test flow enable index 0 HundredGigabitEthernetb1/0/0 ``` Intel X710 Cards Switching to Intel X710 cards in our 10G setup, we encountered errors when attempting to add a flow and enable it on the interface. Mellanox ConnectX-5 Cards We tested Mellanox ConnectX-5 cards with DPDK and attempted to create flows using VPP commands (test flow add and test flow enable), but always received errors. We also configured the Mellanox cards in RDMA mode and executed the same tests, which again failed. Using ethtool, we configured RSS hashing with the following command: ``` ethtool -X ens8f1np1 hfunc toeplitz hkey 6d:5a:6d:5a:6d:5a:6d:5a:6d:5a:6d:5a:6d:5a:6d:5a:6d:5a:6d:5a:6d:5a:6d:5a:6d:5a:6d:5a:6d:5a:6d:5a:6d:5a:6d:5a:6d:5a:6d:5a ``` While no errors were reported, the forward and reverse directions of the same flow were still mapped to different workers/queues. Interface RX Placement We enabled interface RX placement to assign specific queues to workers using: ``` set interface rx-placement eth80 queue 0 worker 0 ``` However, this also did not resolve the issue, and the forward and reverse directions of the same flow continued to be distributed to different queues. Observations and Issues We suspect that symmetric hashing is not being correctly enabled on the RSS and receive queues, leading to the distribution of flow directions across different queues. Despite extensive testing with various configurations, we have been unable to achieve symmetric hashing in our setup. Environment Details VPP version: 24.20-release We believe enabling symmetric hashing in a VPP-DPDK setup should be a straightforward process. However, we are struggling to implement it successfully. Has anyone encountered similar issues or have insights into resolving this problem?
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#26536): https://lists.fd.io/g/vpp-dev/message/26536 Mute This Topic: https://lists.fd.io/mt/116387465/21656 Group Owner: [email protected] Unsubscribe: https://lists.fd.io/g/vpp-dev/leave/14379924/21656/631435203/xyzzy [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
