Hi Stephen: Yes, I think there is no point in doing RSS if only a single queue, but for the 2nd part: "|| !local_port_conf.rx_adv_conf.rss_conf.rss_hf" It's an "or" relationship with the dev_info.max_rx_queues==1, and in my case, the device(virtio) information showed that the max_rx_queues is not 1 but the rss_hf is 0: ...... Initializing port 0 ... Creating queues: nb_rxq=1 nb_txq=1... Trevor: dev_info.max_rx_queues=16, local_port_conf.rx_adv_conf.rss_conf.rss_hf = 0x0 ......
So in this case, the mq_mode should also be set to RTE_ETH_MQ_RX_NONE to disable the RSS. Thanks, Best Regards, Zijin Tao(Trevor Tao, 陶孜谨) ARM Electronic Technology (Shanghai) Co., Ltd 安谋电子科技(上海)有限公司 Building 11, Shanghai Busininess ParkⅢ , No.1016 Tianlin Rd, Minhang District, Shanghai, 200233 China 上海市闵行区田林路1016号科技绿洲三期2号楼10楼,200233 Cell: +86-153 7109 6192 -----Original Message----- From: Stephen Hemminger <step...@networkplumber.org> Sent: Thursday, May 11, 2023 11:39 PM To: Trevor Tao <trevor....@arm.com> Cc: tho...@monjalon.net; dev@dpdk.org Subject: Re: [PATCH] examples/l3fwd: relax the RSS/Offload requirement On Thu, 11 May 2023 09:33:35 +0000 Trevor Tao <trevor....@arm.com> wrote: > + /* relax the rx rss requirement */ > + if (dev_info.max_rx_queues == 1 || > !local_port_conf.rx_adv_conf.rss_conf.rss_hf) { > + printf("warning: modified the rx mq_mode to > RTE_ETH_MQ_RX_NONE base on" > + " device capability\n"); > local_port_conf.rxmode.mq_mode = RTE_ETH_MQ_RX_NONE; > + } There is no point in doing RSS if only a single queue. Therefore remove the !local_port.conf portion of the expression. And since this is normal, no printf is needed. IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.