[dpdk-users] How to fix the number of RX desc to the highest value possible ?

Gilles Roudiere gilles.roudiere at gmail.com
Sun Feb 5 11:38:27 CET 2017


Hello,

In my DPDK app, I would like to fix the number of RX descriptors to the
maximum value available. As this is a trafic capture app (dpdkcap
<https://github.com/dpdkcap/dpdkcap>), I do not want to loose any packet,
so I want the buffers as big as possible.

I have been trying to use the *dev_info.rx_desc_lim.nb_max* field, but it
seems to produce memory allocation failures in some situation. (This value
is obtained using* rte_eth_dev_info_get
<http://dpdk.org/doc/api/rte__ethdev_8h.html#a469a98f6245c85d14f58af8f73168d8b>(portid,
&dev_info) *, and used as the number of requested descriptors when calling*
rte_eth_rx_queue_setup
<http://dpdk.org/doc/api/rte__ethdev_8h.html#a8db38c1bb895250a99b217bb24126d8e>(...)*).


One user is claiming having a message saying that the requested number of
rx desc is not aligned to a power of 2, and that the requested value have
been increased. In this situation I do understand why it does not work (the
value goes over the max availabe), but I do not get why this value is not
given aligned.

Therefore, I wondered what the *dev_info.rx_desc_lim.nb_max *really mean:
is that a maximum per queue ? Or the total number of allowed descriptors ?
And what is the nb_align for ? The documentation
<http://dpdk.org/doc/api/structrte__eth__desc__lim.html> is kind a
incomplete about that. :/

So if any of you has more information about those values, I would really
appreciate it.

Thank you for your time,

Regards,
Gilles Roudiere


More information about the users mailing list