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
