[dpdk-users] Same 5 tuple UDP packets have been delivered to different queues.

Jun Gan geminijun at gmail.com
Wed Oct 9 03:56:31 CEST 2019


Hi Asaf,

Thank you so much for your help!

I tend to think there is something missing in my code, do you have any code
example how to enable RSS?

I did following setup:

eth_conf.rxmode.mq_mode = ETH_MQ_RX_RSS;
eth_conf.rx_adv_conf.rss_conf.rss_hf = ETH_RSS_IP | ETH_RSS_UDP
eth_conf..rx_adv_conf.rss_conf.rss_hf &= dev_info.flow_type_rss_offloads;

I also tried to add a flow rule, and I found mlx5 doesn't support
"rte_eth_dev_rss_hash_conf_get"?

Here is the action, all the UDP packets applied this action:

  struct rte_flow_action_rss action_rss = {
    .types = ETH_RSS_IP | ETH_RSS_UDP,
    .key_len = 40,
    .queue_num = 4,
    .key = rss_key,
    .queue = queue,
  };


And I use spdk reactor to launch multiple threads polling different queue.


Thanks,
Jun Gan




On Tue, Oct 8, 2019 at 4:52 AM Asaf Penso <asafp at mellanox.com> wrote:

> Hello Jun Gan,
>
> Thanks for reaching out and posting this query.
> I'm adding here our support team for further assistance.
>
> Regards,
> Asaf Penso
>
> > -----Original Message-----
> > From: users <users-bounces at dpdk.org> On Behalf Of Jun Gan
> > Sent: Monday, October 7, 2019 6:13 AM
> > To: users at dpdk.org
> > Subject: [dpdk-users] Same 5 tuple UDP packets have been delivered to
> > different queues.
> >
> > Hi All,
> >
> > I just added multiple queues and enabled RSS in our application, I set
> > "rss_hf" to "ETH_RSS_IP | ETH_RSS_UDP", but I can see that same 5 tuple
> > packets, will be delivered to different queues. Do I miss something?
> >
> > Here is the code:
> >
> > eth_conf.rxmode.mq_mode = ETH_MQ_RX_RSS;
> > eth_conf.rx_adv_conf.rss_conf.rss_hf = ETH_RSS_IP | ETH_RSS_UDP
> > eth_conf..rx_adv_conf.rss_conf.rss_hf &=
> > dev_info.flow_type_rss_offloads;
> >
> >
> > I actually have two queues, and two different threads(lcore) busy
> > polling(rx_burst) on these two queues, I also met other weird issues
> like:
> >
> > dpdk-stable-18.11.2/drivers/net/mlx5/mlx5_rxtx_vec_sse.h:743:
> > rxq_burst_v:
> > Assertion `rxq->rq_pi == rxq->cq_ci' failed.
> >
> > I don't understand what does this means, I think rx_burst on the same nic
> > different queue should be thread-safe, isn't it?
> >
> > I'm using dpdk 18.11.2, OS is centos 7.6 and NIC is MLX CX-5.
> >
> > I really appreciate it if anyone can help!!
> >
> > Thanks,
> > Jun Gan
> >
> >
> > --
> > Jun Gan
>


-- 
Jun Gan


More information about the users mailing list