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 <yanfuxiang=
[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 (#26528): https://lists.fd.io/g/vpp-dev/message/26528
Mute This Topic: https://lists.fd.io/mt/116352931/21656
Group Owner: [email protected]
Unsubscribe: https://lists.fd.io/g/vpp-dev/leave/14379924/21656/631435203/xyzzy 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to