Skip to content
This repository has been archived by the owner on Mar 26, 2021. It is now read-only.

Failing to bring up dpdk0 on most recent dpdk-Version #40

Open
Sherazarde opened this issue Jul 16, 2017 · 4 comments
Open

Failing to bring up dpdk0 on most recent dpdk-Version #40

Sherazarde opened this issue Jul 16, 2017 · 4 comments

Comments

@Sherazarde
Copy link

  • Intel X540-AT2
  • DPDK git master (also tried with v17.05)
  • packet-journey git master
  • debian9 4.9.0-3-amd64

Packet-Journey as well as dpdk both compile without problems. Packet-Journey initializes correctly but as soon as dpdk0 is brought up i see the following:

KNI: ----   kni_config_network_interface
KNI: Configure network interface of 0 up
PMD: ixgbe_set_rx_function(): Vector rx enabled, please make sure RX burst size no less than 4 (port=0).
PMD: ixgbe_alloc_rx_queue_mbufs(): RX mbuf alloc failed queue_id=0
PMD: ixgbe_dev_rx_queue_start(): Could not alloc mbuf for queue:0
PMD: ixgbe_dev_start(): Unable to start rxtx queues
PMD: ixgbe_dev_start(): failure in ixgbe_dev_start(): -1
KNI: Failed to start port 0
KNI: finished kni_config_network_interface

Same issue with pretty much ANY kernel version, i've tried several starting with 3.10. on CentOS7. Digging around, i found this: most importantly:

EAL: Error - exiting with code: 1
Cause: Creation of mbuf pool for socket 0 failed:
Invalid argument

This error occurs as a result of the rte mempool ops table having 0 entries. This table is populated from a call to rte_mempool_register_ops().

This function gets called in rte_mempool_ring.c via the static initialization MACRO MEMPOOL_REGISTER_OPS and exists in librte_mempool_ring.so. However this library is not loaded when the rte_eal_init() gets called so the static initializers are not yet loaded.

This change was done recently to move ring handler into its separate drivers/mempool/ring directory. That also means it no longer is compiled into the librte_mempool.

Any advise on how to get packet-journey to work with a recent dpdk version?

Thanks!

@Sherazarde
Copy link
Author

Please keep in mind, i might be totally off with my assumption, i've just scratched the surface as far as DPDK is concerned...

@mherrb
Copy link
Contributor

mherrb commented Oct 24, 2017

After a long debugging session here at tetaneutral.net we found that commit b4f3c136a179f7fadcea8da0fb317d5202289785 in dpdk caused the error above.

the attached patch is enough to make it work with ixbge for us. Thanks to Laurent Guerby who did most of the git bisect work.

patch

@Sherazarde
Copy link
Author

Thank you. I will test this and report back as soon as possible.

@xwwang
Copy link

xwwang commented Jan 11, 2018

I've got the same problem, and the solution given by mherrb doesn't work for me. May I ask if the problem has been solved ?

fatih-acar added a commit that referenced this issue Jun 14, 2018
this is a workaround to fix issues with ixgbe described here
#40
dpdk has to be fixed to free vectorized mbufs correctly
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants