* rte_eth_link_get down after rte_eth_dev_start
@ 2025-01-16 8:41 yundi339
0 siblings, 0 replies; only message in thread
From: yundi339 @ 2025-01-16 8:41 UTC (permalink / raw)
To: users
[-- Attachment #1: Type: text/plain, Size: 3413 bytes --]
Dear DPDK Community,
I am facing an issue with DPDK version 18.02.2 on CentOS 7.9 x86_64 with Kernel 3.10.0. After binding the network card (BCM57810) to DPDK using igb_uio driver, and calling rte_eth_dev_start(), the link status remains "down" when I call rte_eth_link_get() and rte_eth_link_get_nowait().
I have confirmed that the network cable is properly connected, and the hardware is functioning correctly.
This setup works fine on other machines with different network cards (Intel), where the link status is correctly set to "up".
Environment Details:
OS: CentOS 7.9 x86_64
Kernel: 3.10.0
DPDK Version: 18.02.2
Network Card: BCM57810 (SFTP 10Gbps)
Network Driver: bnx2x (updated to the latest version)
Binding Driver: igb_uio
Steps Taken:
DPDK Compilation:
Compiled DPDK (libdpdk.so) and igb_uio.ko.
The CONFIG_RTE_LIBRTE_BNX2X_PMD=y option was enabled during compilation.
The compilation steps were correctly followed, and the DPDK setup is working fine on other machines.
Binding Network Device:
Before binding the network device:Network devices using kernel driver 0000:02:00.0 'NetXtreme BCM5719 Gigabit Ethernet PCIe 1657' if=eno1 drv=tg3 unused=igb_uio 0000:02:00.1 'NetXtreme BCM5719 Gigabit Ethernet PCIe 1657' if=eno2 drv=tg3 unused=igb_uio 0000:02:00.2 'NetXtreme BCM5719 Gigabit Ethernet PCIe 1657' if=eno3 drv=tg3 unused=igb_uio 0000:02:00.3 'NetXtreme BCM5719 Gigabit Ethernet PCIe 1657' if=eno4 drv=tg3 unused=igb_uio 0000:04:00.1 'NetXtreme II BCM57810 10 Gigabit Ethernet 168e' if=eno50 drv=bnx2x unused=igb_uio *Active*
After binding the device 0000:04:00.0:Network devices using DPDK-compatible driver 0000:04:00.0 'NetXtreme II BCM57810 10 Gigabit Ethernet 168e' drv=igb_uio unused= Network devices using kernel driver 0000:02:00.0 'NetXtreme BCM5719 Gigabit Ethernet PCIe 1657' if=eno1 drv=tg3 unused=igb_uio 0000:02:00.1 'NetXtreme BCM5719 Gigabit Ethernet PCIe 1657' if=eno2 drv=tg3 unused=igb_uio 0000:02:00.2 'NetXtreme BCM5719 Gigabit Ethernet PCIe 1657' if=eno3 drv=tg3 unused=igb_uio 0000:02:00.3 'NetXtreme BCM5719 Gigabit Ethernet PCIe 1657' if=eno4 drv=tg3 unused=igb_uio 0000:04:00.1 'NetXtreme II BCM57810 10 Gigabit Ethernet 168e' if=eno50 drv=bnx2x unused=igb_uio *Active*
NUMA Hugepage Configuration.
Program Execution:
Successfully called the following functions, all returning >=0:ret = rte_eth_dev_is_valid_port(port); ret = rte_eth_dev_configure(port, rxRings, txRings, &port_conf); ret = rte_eth_tx_queue_setup(...); ret = rte_eth_rx_queue_setup(...); ret = rte_eth_dev_start(port);
Link Status Check:
After calling rte_eth_dev_start(port), the link status remains down:rte_eth_link_get(port, &link); rte_eth_link_get_nowait(port, &link);
Both functions return link_status != 1 (indicating "down").
Questions:
Why does the link status remain down even after successfully calling rte_eth_dev_start()?
Is there any additional configuration or setting that I might have missed, specifically for the bnx2x driver with the igb_uio binding?
Is it necessary to manually call rte_eth_dev_set_link_up() after rte_eth_dev_start() to activate the link, or should this be handled automatically by DPDK?
Could there be any driver or hardware compatibility issues between the bnx2x driver and DPDK 18.02.2 on this kernel version?
[-- Attachment #2: Type: text/html, Size: 5478 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2025-01-16 8:43 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-01-16 8:41 rte_eth_link_get down after rte_eth_dev_start yundi339
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).