[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


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
&dev_info) *, and used as the number of requested descriptors when calling*

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,

Gilles Roudiere

More information about the users mailing list