iqiyi / dpvs

DPVS is a high performance Layer-4 load balancer based on DPDK.
Other
3.03k stars 728 forks source link

dpvs启动报错:fail to bring up dpdk0 #65

Closed b01213231 closed 6 years ago

b01213231 commented 6 years ago

之前步骤都正常,在启动dpvs时报错,有没有遇到相同问题的帮忙解答一下

[root@localhost bin]# ./dpvs & [1] 18431 [root@localhost bin]# EAL: Detected 40 lcore(s) EAL: Probing VFIO support... PMD: bnxt_rte_pmd_init() called for (null) EAL: PCI device 0000:02:00.0 on NUMA socket 0 EAL: probe driver: 8086:1521 rte_igb_pmd EAL: PCI device 0000:02:00.1 on NUMA socket 0 EAL: probe driver: 8086:1521 rte_igb_pmd EAL: PCI device 0000:81:00.0 on NUMA socket 1 EAL: probe driver: 8086:1528 rte_ixgbe_pmd EAL: PCI device 0000:81:00.1 on NUMA socket 1 EAL: probe driver: 8086:1528 rte_ixgbe_pmd EAL: PCI device 0000:82:00.0 on NUMA socket 1 EAL: probe driver: 8086:1528 rte_ixgbe_pmd EAL: PCI device 0000:82:00.1 on NUMA socket 1 EAL: probe driver: 8086:1528 rte_ixgbe_pmd CFG_FILE: Opening configuration file '/etc/dpvs.conf'. CFG_FILE: log_level = WARNING NETIF: dpdk0:rx_queue_number = 8 NETIF: worker cpu1:dpdk0 rx_queue_id += 0 NETIF: worker cpu1:dpdk0 tx_queue_id += 0 NETIF: worker cpu2:dpdk0 rx_queue_id += 1 NETIF: worker cpu2:dpdk0 tx_queue_id += 1 NETIF: worker cpu3:dpdk0 rx_queue_id += 2 NETIF: worker cpu3:dpdk0 tx_queue_id += 2 NETIF: worker cpu4:dpdk0 rx_queue_id += 3 NETIF: worker cpu4:dpdk0 tx_queue_id += 3 NETIF: worker cpu5:dpdk0 rx_queue_id += 4 NETIF: worker cpu5:dpdk0 tx_queue_id += 4 NETIF: worker cpu6:dpdk0 rx_queue_id += 5 NETIF: worker cpu6:dpdk0 tx_queue_id += 5 NETIF: worker cpu7:dpdk0 rx_queue_id += 6 NETIF: worker cpu7:dpdk0 tx_queue_id += 6 NETIF: worker cpu8:dpdk0 rx_queue_id += 7 NETIF: worker cpu8:dpdk0 tx_queue_id += 7 NETIF: netif_port_start: fail to bring up dpdk0 DPVS: Start dpdk0 failed, skipping ...

b01213231 commented 6 years ago

[root@localhost dpdk-stable-16.07.2]# ./tools/dpdk-devbind.py --st

Network devices using DPDK-compatible driver

0000:81:00.0 'Ethernet Controller 10-Gigabit X540-AT2' drv=igb_uio unused=

Network devices using kernel driver

0000:02:00.0 'I350 Gigabit Network Connection' if=eth0 drv=igb unused=igb_uio 0000:02:00.1 'I350 Gigabit Network Connection' if=eth1 drv=igb unused=igb_uio 0000:81:00.1 'Ethernet Controller 10-Gigabit X540-AT2' if=eth5 drv=ixgbe unused=igb_uio 0000:82:00.0 'Ethernet Controller 10-Gigabit X540-AT2' if=eth2 drv=ixgbe unused=igb_uio 0000:82:00.1 'Ethernet Controller 10-Gigabit X540-AT2' if=eth3 drv=ixgbe unused=igb_uio

Other network devices

[root@localhost bin]# ./dpip link show 1: dpdk0: socket 1 mtu 1500 rx-queue 8 tx-queue 8 DOWN 0 Mbps half-duplex fixed-nego promisc-off forward2kni-off addr 00:E0:ED:57:08:BA OF_RX_IP_CSUM OF_TX_IP_CSUM OF_TX_TCP_CSUM OF_TX_UDP_CSUM
b01213231 commented 6 years ago

源码中rte_eth_dev_start返回值正常,30s等待link_status之后报错 fail to bring up,请问dpdk0一直没起来是什么原因? // start the device ret = rte_eth_dev_start(port->id); if (ret < 0) { RTE_LOG(ERR, NETIF, "%s: fail to start %s\n", func, port->name); return EDPVS_DPDKAPIFAIL; } // wait the device link up RTE_LOG(INFO, NETIF, "Waiting for %s link up, be patient ...\n", port->name); for (ii = 0; ii < wait_link_up_msecs; ii++) { rte_eth_link_get_nowait(port->id, &link); if (link.link_status) { RTE_LOG(INFO, NETIF, ">> %s: link up - speed %u Mbps - %s\n", port->name, (unsigned)link.link_speed, (link.link_duplex == ETH_LINK_FULL_DUPLEX) ? "full-duplex" : "half-duplex"); break; } rte_delay_ms(1); } if (!link.link_status) { RTE_LOG(ERR, NETIF, "%s: fail to bring up %s\n", func, port->name); return EDPVS_DPDKAPIFAIL; }

beacer commented 6 years ago

Is cable connected to the NIC ?

b01213231 commented 6 years ago

cable problem,tks