[dpdk-users] RSS problems with Intel XL710 NIC (i40e)

Xiao Kong kongxiao0532 at gmail.com
Sat Oct 20 03:59:08 CEST 2018

Dear all,
We are currently trying to build a multi-RX-queue dpdk program, using RSS to split the incoming traffic evenly into RX queues on a single port. It works fine when we use an Intel 82599ES 10Gig NIC. However when we switch to the Intel XL710 40Gig NIC (i40e), RSS does not seem to work. As a result, TCP packets belonging to various flows (with different src&dst IPs, ports) are all sent into the same RX queue. Below is our code.
static const struct rte_eth_conf port_conf_default = {
    .rxmode = {
        .max_rx_pkt_len = ETHER_MAX_LEN, //1518
        .mq_mode = ETH_MQ_RX_RSS,
    .rx_adv_conf = {
        .rss_conf = {
            .rss_key = NULL,
            .rss_hf = ETH_RSS_IP | ETH_RSS_UDP | ETH_RSS_TCP | ETH_RSS_SCTP,
We noticed that it is mentioned on several pages that XL710 sometimes behaves quite differently from other NICs, but we just can't find a way to configurate RSS hash fields on our card. Another thing is when we tried to enable RSS or setup hash fields in testpmd, it showed error messages as follows.
testpmd> port config all rss all 
Configuration of RSS hash at ethernet port 0 failed with error (22): Invalid argument.
Configuration of RSS hash at ethernet port 1 failed with error (22): Invalid argument.
testpmd> show port 1 rss-hash ipv4
RSS disabled
I am wondering if there is any mistake we made or if there is a unique method for XL710 to configure RSS hash fields.
By the way, we are using DPDK ver. 17.08.
Best Regards,

More information about the users mailing list