* [dpdk-dev] In DPDK 1.7.1, the link status of the interface using virtio driver is always down. @ 2014-12-11 7:57 Fu, Weiyi (NSN - CN/Hangzhou) 2014-12-11 8:11 ` Ouyang, Changchun 0 siblings, 1 reply; 10+ messages in thread From: Fu, Weiyi (NSN - CN/Hangzhou) @ 2014-12-11 7:57 UTC (permalink / raw) To: dev Hi, We are using the l2fwd based on DPDK 1.7.1 and found out that the link status of the interface using virtio driver is always down. Is there any precondition to let the link up? # ./pci_unbind.py --status Network devices using IGB_UIO driver ==================================== 0000:00:04.0 'Virtio network device' drv=igb_uio unused= 0000:00:05.0 'Virtio network device' drv=igb_uio unused= Network devices using kernel driver =================================== 0000:00:03.0 'Virtio network device' if= drv=virtio-pci unused=igb_uio Other network devices ===================== <none> [root@EIPU-0(KVMCluster) /root] # /root/l2fwd -c 1 -n 1 -- -p 1 ... Port: 0 Link is DOWN PMD: virtio_dev_start(): nb_queues=1 PMD: virtio_dev_start(): Notified backend at initialization PMD: rte_eth_dev_config_restore: port 0: MAC address array not supported PMD: rte_eth_promiscuous_disable: Function not supported PMD: rte_eth_allmulticast_disable: Function not supported done: PMD: rte_eth_promiscuous_enable: Function not supported Port 0, MAC address: FF:FF:00:00:00:00 Skipping disabled port 1 Checking link statusPMD: virtio_dev_link_update(): Get link status from hw PMD: virtio_dev_link_update(): Port 0 is down .PMD: virtio_dev_link_update(): Get link status from hw PMD: virtio_dev_link_update(): Port 0 is down .PMD: virtio_dev_link_update(): Get link status from hw PMD: virtio_dev_link_update(): Port 0 is down ... Brs, Fu Weiyi ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [dpdk-dev] In DPDK 1.7.1, the link status of the interface using virtio driver is always down. 2014-12-11 7:57 [dpdk-dev] In DPDK 1.7.1, the link status of the interface using virtio driver is always down Fu, Weiyi (NSN - CN/Hangzhou) @ 2014-12-11 8:11 ` Ouyang, Changchun 2014-12-11 8:42 ` Fu, Weiyi (NSN - CN/Hangzhou) 2014-12-11 11:41 ` Fu, Weiyi (NSN - CN/Hangzhou) 0 siblings, 2 replies; 10+ messages in thread From: Ouyang, Changchun @ 2014-12-11 8:11 UTC (permalink / raw) To: Fu, Weiyi (NSN - CN/Hangzhou), dev Hi, > -----Original Message----- > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Fu, Weiyi (NSN - > CN/Hangzhou) > Sent: Thursday, December 11, 2014 3:57 PM > To: dev@dpdk.org > Subject: [dpdk-dev] In DPDK 1.7.1, the link status of the interface using virtio > driver is always down. > > Hi, > We are using the l2fwd based on DPDK 1.7.1 and found out that the link > status of the interface using virtio driver is always down. > Is there any precondition to let the link up? > Suggest you use testpmd to replace l2fwd, and virito need tx some packets before forwarding any packet. In testpmd, you can use the following cmd: Start tx_first Thanks Changchun ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [dpdk-dev] In DPDK 1.7.1, the link status of the interface using virtio driver is always down. 2014-12-11 8:11 ` Ouyang, Changchun @ 2014-12-11 8:42 ` Fu, Weiyi (NSN - CN/Hangzhou) 2014-12-11 11:41 ` Fu, Weiyi (NSN - CN/Hangzhou) 1 sibling, 0 replies; 10+ messages in thread From: Fu, Weiyi (NSN - CN/Hangzhou) @ 2014-12-11 8:42 UTC (permalink / raw) To: ext Ouyang, Changchun, dev Hi, The result is still the same. [root@EIPU-0(KVMCluster) /root] # ./testpmd -c 3 -n 4 -- --burst=64 -i --txq=1 --rxq=1 --txqflags=0xffff EAL: Cannot read numa node link for lcore 0 - using physical package id instead EAL: Detected lcore 0 as core 0 on socket 0 EAL: Cannot read numa node link for lcore 1 - using physical package id instead EAL: Detected lcore 1 as core 1 on socket 0 EAL: Cannot read numa node link for lcore 2 - using physical package id instead EAL: Detected lcore 2 as core 2 on socket 0 EAL: Cannot read numa node link for lcore 3 - using physical package id instead EAL: Detected lcore 3 as core 3 on socket 0 EAL: Cannot read numa node link for lcore 4 - using physical package id instead EAL: Detected lcore 4 as core 4 on socket 0 EAL: Cannot read numa node link for lcore 5 - using physical package id instead EAL: Detected lcore 5 as core 5 on socket 0 EAL: Cannot read numa node link for lcore 6 - using physical package id instead EAL: Detected lcore 6 as core 6 on socket 0 EAL: Support maximum 64 logical core(s) by configuration. EAL: Detected 7 lcore(s) EAL: Searching for IVSHMEM devices... EAL: No IVSHMEM configuration found! EAL: Setting up memory... EAL: cannot open /proc/self/numa_maps, consider that all memory is in socket_id 0 EAL: Ask a virtual area of 0x13400000 bytes EAL: Virtual area found at 0x7fb8e2600000 (size = 0x13400000) EAL: Ask a virtual area of 0x1f000000 bytes EAL: Virtual area found at 0x7fb8c3400000 (size = 0x1f000000) EAL: Ask a virtual area of 0x200000 bytes EAL: Virtual area found at 0x7fb8c3000000 (size = 0x200000) EAL: Ask a virtual area of 0x400000 bytes EAL: Virtual area found at 0x7fb8c2a00000 (size = 0x400000) EAL: Ask a virtual area of 0x200000 bytes EAL: Virtual area found at 0x7fb8c2600000 (size = 0x200000) EAL: Ask a virtual area of 0x200000 bytes EAL: Virtual area found at 0x7fb8c2200000 (size = 0x200000) EAL: Ask a virtual area of 0x400000 bytes EAL: Virtual area found at 0x7fb8c1c00000 (size = 0x400000) EAL: Ask a virtual area of 0x200000 bytes EAL: Virtual area found at 0x7fb8c1800000 (size = 0x200000) EAL: Requesting 410 pages of size 2MB from socket 0 EAL: TSC frequency is ~2792867 KHz EAL: WARNING: cpu flags constant_tsc=yes nonstop_tsc=no -> using unreliable clock cycles ! EAL: Master core 0 is ready (tid=f6998800) EAL: Core 1 is ready (tid=c0ffe710) EAL: PCI device 0000:00:03.0 on NUMA socket -1 EAL: probe driver: 1af4:1000 rte_virtio_pmd EAL: 0000:00:03.0 not managed by UIO driver, skipping EAL: PCI device 0000:00:04.0 on NUMA socket -1 EAL: probe driver: 1af4:1000 rte_virtio_pmd EAL: PCI memory mapped at 0x7fb8f6959000 PMD: eth_virtio_dev_init(): PCI Port IO found start=0xc020 with size=0x20 PMD: virtio_negotiate_features(): guest_features before negotiate = 438020 PMD: virtio_negotiate_features(): host_features before negotiate = 489f7c26 PMD: virtio_negotiate_features(): features after negotiate = 30020 PMD: eth_virtio_dev_init(): PORT MAC: FF:FF:00:00:00:00 PMD: eth_virtio_dev_init(): VIRTIO_NET_F_MQ is not supported PMD: virtio_dev_cq_queue_setup(): >> PMD: virtio_dev_queue_setup(): selecting queue: 2 PMD: virtio_dev_queue_setup(): vq_size: 64 nb_desc:0 PMD: virtio_dev_queue_setup(): vring_size: 4612, rounded_vring_size: 8192 PMD: virtio_dev_queue_setup(): vq->vq_ring_mem: 0x212bdd000 PMD: virtio_dev_queue_setup(): vq->vq_ring_virt_mem: 0x7fb8c31dd000 PMD: eth_virtio_dev_init(): config->max_virtqueue_pairs=1 PMD: eth_virtio_dev_init(): config->status=0 PMD: eth_virtio_dev_init(): PORT MAC: FF:FF:00:00:00:00 PMD: eth_virtio_dev_init(): hw->max_rx_queues=1 hw->max_tx_queues=1 PMD: eth_virtio_dev_init(): port 0 vendorID=0x1af4 deviceID=0x1000 EAL: PCI device 0000:00:05.0 on NUMA socket -1 EAL: probe driver: 1af4:1000 rte_virtio_pmd EAL: PCI memory mapped at 0x7fb8f6958000 PMD: eth_virtio_dev_init(): PCI Port IO found start=0xc000 with size=0x20 PMD: virtio_negotiate_features(): guest_features before negotiate = 438020 PMD: virtio_negotiate_features(): host_features before negotiate = 489f7c26 PMD: virtio_negotiate_features(): features after negotiate = 30020 PMD: eth_virtio_dev_init(): PORT MAC: FF:FF:00:00:00:00 PMD: eth_virtio_dev_init(): VIRTIO_NET_F_MQ is not supported PMD: virtio_dev_cq_queue_setup(): >> PMD: virtio_dev_queue_setup(): selecting queue: 2 PMD: virtio_dev_queue_setup(): vq_size: 64 nb_desc:0 PMD: virtio_dev_queue_setup(): vring_size: 4612, rounded_vring_size: 8192 PMD: virtio_dev_queue_setup(): vq->vq_ring_mem: 0x212be0000 PMD: virtio_dev_queue_setup(): vq->vq_ring_virt_mem: 0x7fb8c31e0000 PMD: eth_virtio_dev_init(): config->max_virtqueue_pairs=1 PMD: eth_virtio_dev_init(): config->status=0 PMD: eth_virtio_dev_init(): PORT MAC: FF:FF:00:00:00:00 PMD: eth_virtio_dev_init(): hw->max_rx_queues=1 hw->max_tx_queues=1 PMD: eth_virtio_dev_init(): port 1 vendorID=0x1af4 deviceID=0x1000 Interactive-mode selected Configuring Port 0 (socket 0) PMD: virtio_dev_configure(): configure PMD: virtio_dev_tx_queue_setup(): >> PMD: virtio_dev_queue_setup(): selecting queue: 1 PMD: virtio_dev_queue_setup(): vq_size: 256 nb_desc:512 PMD: virtio_dev_queue_setup(): Warning: nb_desc(512) is not equal to vq size (256), fall to vq size PMD: virtio_dev_queue_setup(): vring_size: 10244, rounded_vring_size: 12288 PMD: virtio_dev_queue_setup(): vq->vq_ring_mem: 0x212be3000 PMD: virtio_dev_queue_setup(): vq->vq_ring_virt_mem: 0x7fb8c31e3000 PMD: virtio_dev_rx_queue_setup(): >> PMD: virtio_dev_queue_setup(): selecting queue: 0 PMD: virtio_dev_queue_setup(): vq_size: 256 nb_desc:128 PMD: virtio_dev_queue_setup(): Warning: nb_desc(128) is not equal to vq size (256), fall to vq size PMD: virtio_dev_queue_setup(): vring_size: 10244, rounded_vring_size: 12288 PMD: virtio_dev_queue_setup(): vq->vq_ring_mem: 0x212be7000 PMD: virtio_dev_queue_setup(): vq->vq_ring_virt_mem: 0x7fb8c31e7000 PMD: virtio_dev_vring_start(): >> PMD: virtio_dev_rxtx_start(): >> PMD: virtio_dev_vring_start(): >> PMD: virtio_dev_vring_start(): Allocated 256 bufs PMD: virtio_dev_vring_start(): >> Port: 0 Link is DOWN PMD: virtio_dev_start(): nb_queues=1 PMD: virtio_dev_start(): Notified backend at initialization PMD: rte_eth_dev_config_restore: port 0: MAC address array not supported PMD: rte_eth_promiscuous_disable: Function not supported PMD: rte_eth_allmulticast_disable: Function not supported Port 0: FF:FF:00:00:00:00 Configuring Port 1 (socket 0) PMD: virtio_dev_configure(): configure PMD: virtio_dev_tx_queue_setup(): >> PMD: virtio_dev_queue_setup(): selecting queue: 1 PMD: virtio_dev_queue_setup(): vq_size: 256 nb_desc:512 PMD: virtio_dev_queue_setup(): Warning: nb_desc(512) is not equal to vq size (256), fall to vq size PMD: virtio_dev_queue_setup(): vring_size: 10244, rounded_vring_size: 12288 PMD: virtio_dev_queue_setup(): vq->vq_ring_mem: 0x212bea000 PMD: virtio_dev_queue_setup(): vq->vq_ring_virt_mem: 0x7fb8c31ea000 PMD: virtio_dev_rx_queue_setup(): >> PMD: virtio_dev_queue_setup(): selecting queue: 0 PMD: virtio_dev_queue_setup(): vq_size: 256 nb_desc:128 PMD: virtio_dev_queue_setup(): Warning: nb_desc(128) is not equal to vq size (256), fall to vq size PMD: virtio_dev_queue_setup(): vring_size: 10244, rounded_vring_size: 12288 PMD: virtio_dev_queue_setup(): vq->vq_ring_mem: 0x212bee000 PMD: virtio_dev_queue_setup(): vq->vq_ring_virt_mem: 0x7fb8c31ee000 PMD: virtio_dev_vring_start(): >> PMD: virtio_dev_rxtx_start(): >> PMD: virtio_dev_vring_start(): >> PMD: virtio_dev_vring_start(): Allocated 256 bufs PMD: virtio_dev_vring_start(): >> Port: 1 Link is DOWN PMD: virtio_dev_start(): nb_queues=1 PMD: virtio_dev_start(): Notified backend at initialization PMD: rte_eth_dev_config_restore: port 1: MAC address array not supported PMD: rte_eth_promiscuous_disable: Function not supported PMD: rte_eth_allmulticast_disable: Function not supported Port 1: FF:FF:00:00:00:00 Checking link statuses... PMD: virtio_dev_link_update(): Get link status from hw PMD: virtio_dev_link_update(): Port 0 is down PMD: virtio_dev_link_update(): Get link status from hw PMD: virtio_dev_link_update(): Port 0 is down PMD: virtio_dev_link_update(): Get link status from hw PMD: virtio_dev_link_update(): Port 0 is down PMD: virtio_dev_link_update(): Get link status from hw PMD: virtio_dev_link_update(): Port 0 is down PMD: virtio_dev_link_update(): Get link status from hw PMD: virtio_dev_link_update(): Port 0 is down PMD: virtio_dev_link_update(): Get link status from hw PMD: virtio_dev_link_update(): Port 0 is down PMD: virtio_dev_link_update(): Get link status from hw PMD: virtio_dev_link_update(): Port 0 is down PMD: virtio_dev_link_update(): Get link status from hw PMD: virtio_dev_link_update(): Port 0 is down PMD: virtio_dev_link_update(): Get link status from hw PMD: virtio_dev_link_update(): Port 0 is down PMD: virtio_dev_link_update(): Get link status from hw PMD: virtio_dev_link_update(): Port 0 is down PMD: virtio_dev_link_update(): Get link status from hw PMD: virtio_dev_link_update(): Port 0 is down PMD: virtio_dev_link_update(): Get link status from hw PMD: virtio_dev_link_update(): Port 0 is down PMD: virtio_dev_link_update(): Get link status from hw PMD: virtio_dev_link_update(): Port 0 is down PMD: virtio_dev_link_update(): Get link status from hw PMD: virtio_dev_link_update(): Port 0 is down Brs, Fu Weiyi -----Original Message----- From: ext Ouyang, Changchun [mailto:changchun.ouyang@intel.com] Sent: Thursday, December 11, 2014 4:11 PM To: Fu, Weiyi (NSN - CN/Hangzhou); dev@dpdk.org Cc: Ouyang, Changchun Subject: RE: [dpdk-dev] In DPDK 1.7.1, the link status of the interface using virtio driver is always down. Hi, > -----Original Message----- > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Fu, Weiyi (NSN - > CN/Hangzhou) > Sent: Thursday, December 11, 2014 3:57 PM > To: dev@dpdk.org > Subject: [dpdk-dev] In DPDK 1.7.1, the link status of the interface using virtio > driver is always down. > > Hi, > We are using the l2fwd based on DPDK 1.7.1 and found out that the link > status of the interface using virtio driver is always down. > Is there any precondition to let the link up? > Suggest you use testpmd to replace l2fwd, and virito need tx some packets before forwarding any packet. In testpmd, you can use the following cmd: Start tx_first Thanks Changchun ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [dpdk-dev] In DPDK 1.7.1, the link status of the interface using virtio driver is always down. 2014-12-11 8:11 ` Ouyang, Changchun 2014-12-11 8:42 ` Fu, Weiyi (NSN - CN/Hangzhou) @ 2014-12-11 11:41 ` Fu, Weiyi (NSN - CN/Hangzhou) 2014-12-11 13:41 ` Vijayakumar Muthuvel Manickam 2014-12-12 1:00 ` Ouyang, Changchun 1 sibling, 2 replies; 10+ messages in thread From: Fu, Weiyi (NSN - CN/Hangzhou) @ 2014-12-11 11:41 UTC (permalink / raw) To: Fu, Weiyi (NSN - CN/Hangzhou), ext Ouyang, Changchun, dev Hi Changchun, I found you had done follow change to allow the virtio interface startup when the link is down. Is there any scenario causing link down for virtio interface? diff --git a/lib/librte_pmd_virtio/virtio_ethdev.c b/lib/librte_pmd_virtio/virtio_ethdev.c index 78018f9..4bff0fe 100644 --- a/lib/librte_pmd_virtio/virtio_ethdev.c +++ b/lib/librte_pmd_virtio/virtio_ethdev.c @@ -1057,14 +1057,12 @@ virtio_dev_start(struct rte_eth_dev *dev) vtpci_read_dev_config(hw, offsetof(struct virtio_net_config, status), &status, sizeof(status)); - if ((status & VIRTIO_NET_S_LINK_UP) == 0) { + if ((status & VIRTIO_NET_S_LINK_UP) == 0) PMD_INIT_LOG(ERR, "Port: %d Link is DOWN", dev->data->port_id); - return -EIO; - } else { + else PMD_INIT_LOG(DEBUG, "Port: %d Link is UP", dev->data->port_id); - } } vtpci_reinit_complete(hw); Brs, Fu Weiyi -----Original Message----- From: Fu, Weiyi (NSN - CN/Hangzhou) Sent: Thursday, December 11, 2014 4:43 PM To: 'ext Ouyang, Changchun'; dev@dpdk.org Subject: RE: [dpdk-dev] In DPDK 1.7.1, the link status of the interface using virtio driver is always down. Hi, The result is still the same. [root@EIPU-0(KVMCluster) /root] # ./testpmd -c 3 -n 4 -- --burst=64 -i --txq=1 --rxq=1 --txqflags=0xffff EAL: Cannot read numa node link for lcore 0 - using physical package id instead EAL: Detected lcore 0 as core 0 on socket 0 EAL: Cannot read numa node link for lcore 1 - using physical package id instead EAL: Detected lcore 1 as core 1 on socket 0 EAL: Cannot read numa node link for lcore 2 - using physical package id instead EAL: Detected lcore 2 as core 2 on socket 0 EAL: Cannot read numa node link for lcore 3 - using physical package id instead EAL: Detected lcore 3 as core 3 on socket 0 EAL: Cannot read numa node link for lcore 4 - using physical package id instead EAL: Detected lcore 4 as core 4 on socket 0 EAL: Cannot read numa node link for lcore 5 - using physical package id instead EAL: Detected lcore 5 as core 5 on socket 0 EAL: Cannot read numa node link for lcore 6 - using physical package id instead EAL: Detected lcore 6 as core 6 on socket 0 EAL: Support maximum 64 logical core(s) by configuration. EAL: Detected 7 lcore(s) EAL: Searching for IVSHMEM devices... EAL: No IVSHMEM configuration found! EAL: Setting up memory... EAL: cannot open /proc/self/numa_maps, consider that all memory is in socket_id 0 EAL: Ask a virtual area of 0x13400000 bytes EAL: Virtual area found at 0x7fb8e2600000 (size = 0x13400000) EAL: Ask a virtual area of 0x1f000000 bytes EAL: Virtual area found at 0x7fb8c3400000 (size = 0x1f000000) EAL: Ask a virtual area of 0x200000 bytes EAL: Virtual area found at 0x7fb8c3000000 (size = 0x200000) EAL: Ask a virtual area of 0x400000 bytes EAL: Virtual area found at 0x7fb8c2a00000 (size = 0x400000) EAL: Ask a virtual area of 0x200000 bytes EAL: Virtual area found at 0x7fb8c2600000 (size = 0x200000) EAL: Ask a virtual area of 0x200000 bytes EAL: Virtual area found at 0x7fb8c2200000 (size = 0x200000) EAL: Ask a virtual area of 0x400000 bytes EAL: Virtual area found at 0x7fb8c1c00000 (size = 0x400000) EAL: Ask a virtual area of 0x200000 bytes EAL: Virtual area found at 0x7fb8c1800000 (size = 0x200000) EAL: Requesting 410 pages of size 2MB from socket 0 EAL: TSC frequency is ~2792867 KHz EAL: WARNING: cpu flags constant_tsc=yes nonstop_tsc=no -> using unreliable clock cycles ! EAL: Master core 0 is ready (tid=f6998800) EAL: Core 1 is ready (tid=c0ffe710) EAL: PCI device 0000:00:03.0 on NUMA socket -1 EAL: probe driver: 1af4:1000 rte_virtio_pmd EAL: 0000:00:03.0 not managed by UIO driver, skipping EAL: PCI device 0000:00:04.0 on NUMA socket -1 EAL: probe driver: 1af4:1000 rte_virtio_pmd EAL: PCI memory mapped at 0x7fb8f6959000 PMD: eth_virtio_dev_init(): PCI Port IO found start=0xc020 with size=0x20 PMD: virtio_negotiate_features(): guest_features before negotiate = 438020 PMD: virtio_negotiate_features(): host_features before negotiate = 489f7c26 PMD: virtio_negotiate_features(): features after negotiate = 30020 PMD: eth_virtio_dev_init(): PORT MAC: FF:FF:00:00:00:00 PMD: eth_virtio_dev_init(): VIRTIO_NET_F_MQ is not supported PMD: virtio_dev_cq_queue_setup(): >> PMD: virtio_dev_queue_setup(): selecting queue: 2 PMD: virtio_dev_queue_setup(): vq_size: 64 nb_desc:0 PMD: virtio_dev_queue_setup(): vring_size: 4612, rounded_vring_size: 8192 PMD: virtio_dev_queue_setup(): vq->vq_ring_mem: 0x212bdd000 PMD: virtio_dev_queue_setup(): vq->vq_ring_virt_mem: 0x7fb8c31dd000 PMD: eth_virtio_dev_init(): config->max_virtqueue_pairs=1 PMD: eth_virtio_dev_init(): config->status=0 PMD: eth_virtio_dev_init(): PORT MAC: FF:FF:00:00:00:00 PMD: eth_virtio_dev_init(): hw->max_rx_queues=1 hw->max_tx_queues=1 PMD: eth_virtio_dev_init(): port 0 vendorID=0x1af4 deviceID=0x1000 EAL: PCI device 0000:00:05.0 on NUMA socket -1 EAL: probe driver: 1af4:1000 rte_virtio_pmd EAL: PCI memory mapped at 0x7fb8f6958000 PMD: eth_virtio_dev_init(): PCI Port IO found start=0xc000 with size=0x20 PMD: virtio_negotiate_features(): guest_features before negotiate = 438020 PMD: virtio_negotiate_features(): host_features before negotiate = 489f7c26 PMD: virtio_negotiate_features(): features after negotiate = 30020 PMD: eth_virtio_dev_init(): PORT MAC: FF:FF:00:00:00:00 PMD: eth_virtio_dev_init(): VIRTIO_NET_F_MQ is not supported PMD: virtio_dev_cq_queue_setup(): >> PMD: virtio_dev_queue_setup(): selecting queue: 2 PMD: virtio_dev_queue_setup(): vq_size: 64 nb_desc:0 PMD: virtio_dev_queue_setup(): vring_size: 4612, rounded_vring_size: 8192 PMD: virtio_dev_queue_setup(): vq->vq_ring_mem: 0x212be0000 PMD: virtio_dev_queue_setup(): vq->vq_ring_virt_mem: 0x7fb8c31e0000 PMD: eth_virtio_dev_init(): config->max_virtqueue_pairs=1 PMD: eth_virtio_dev_init(): config->status=0 PMD: eth_virtio_dev_init(): PORT MAC: FF:FF:00:00:00:00 PMD: eth_virtio_dev_init(): hw->max_rx_queues=1 hw->max_tx_queues=1 PMD: eth_virtio_dev_init(): port 1 vendorID=0x1af4 deviceID=0x1000 Interactive-mode selected Configuring Port 0 (socket 0) PMD: virtio_dev_configure(): configure PMD: virtio_dev_tx_queue_setup(): >> PMD: virtio_dev_queue_setup(): selecting queue: 1 PMD: virtio_dev_queue_setup(): vq_size: 256 nb_desc:512 PMD: virtio_dev_queue_setup(): Warning: nb_desc(512) is not equal to vq size (256), fall to vq size PMD: virtio_dev_queue_setup(): vring_size: 10244, rounded_vring_size: 12288 PMD: virtio_dev_queue_setup(): vq->vq_ring_mem: 0x212be3000 PMD: virtio_dev_queue_setup(): vq->vq_ring_virt_mem: 0x7fb8c31e3000 PMD: virtio_dev_rx_queue_setup(): >> PMD: virtio_dev_queue_setup(): selecting queue: 0 PMD: virtio_dev_queue_setup(): vq_size: 256 nb_desc:128 PMD: virtio_dev_queue_setup(): Warning: nb_desc(128) is not equal to vq size (256), fall to vq size PMD: virtio_dev_queue_setup(): vring_size: 10244, rounded_vring_size: 12288 PMD: virtio_dev_queue_setup(): vq->vq_ring_mem: 0x212be7000 PMD: virtio_dev_queue_setup(): vq->vq_ring_virt_mem: 0x7fb8c31e7000 PMD: virtio_dev_vring_start(): >> PMD: virtio_dev_rxtx_start(): >> PMD: virtio_dev_vring_start(): >> PMD: virtio_dev_vring_start(): Allocated 256 bufs PMD: virtio_dev_vring_start(): >> Port: 0 Link is DOWN PMD: virtio_dev_start(): nb_queues=1 PMD: virtio_dev_start(): Notified backend at initialization PMD: rte_eth_dev_config_restore: port 0: MAC address array not supported PMD: rte_eth_promiscuous_disable: Function not supported PMD: rte_eth_allmulticast_disable: Function not supported Port 0: FF:FF:00:00:00:00 Configuring Port 1 (socket 0) PMD: virtio_dev_configure(): configure PMD: virtio_dev_tx_queue_setup(): >> PMD: virtio_dev_queue_setup(): selecting queue: 1 PMD: virtio_dev_queue_setup(): vq_size: 256 nb_desc:512 PMD: virtio_dev_queue_setup(): Warning: nb_desc(512) is not equal to vq size (256), fall to vq size PMD: virtio_dev_queue_setup(): vring_size: 10244, rounded_vring_size: 12288 PMD: virtio_dev_queue_setup(): vq->vq_ring_mem: 0x212bea000 PMD: virtio_dev_queue_setup(): vq->vq_ring_virt_mem: 0x7fb8c31ea000 PMD: virtio_dev_rx_queue_setup(): >> PMD: virtio_dev_queue_setup(): selecting queue: 0 PMD: virtio_dev_queue_setup(): vq_size: 256 nb_desc:128 PMD: virtio_dev_queue_setup(): Warning: nb_desc(128) is not equal to vq size (256), fall to vq size PMD: virtio_dev_queue_setup(): vring_size: 10244, rounded_vring_size: 12288 PMD: virtio_dev_queue_setup(): vq->vq_ring_mem: 0x212bee000 PMD: virtio_dev_queue_setup(): vq->vq_ring_virt_mem: 0x7fb8c31ee000 PMD: virtio_dev_vring_start(): >> PMD: virtio_dev_rxtx_start(): >> PMD: virtio_dev_vring_start(): >> PMD: virtio_dev_vring_start(): Allocated 256 bufs PMD: virtio_dev_vring_start(): >> Port: 1 Link is DOWN PMD: virtio_dev_start(): nb_queues=1 PMD: virtio_dev_start(): Notified backend at initialization PMD: rte_eth_dev_config_restore: port 1: MAC address array not supported PMD: rte_eth_promiscuous_disable: Function not supported PMD: rte_eth_allmulticast_disable: Function not supported Port 1: FF:FF:00:00:00:00 Checking link statuses... PMD: virtio_dev_link_update(): Get link status from hw PMD: virtio_dev_link_update(): Port 0 is down PMD: virtio_dev_link_update(): Get link status from hw PMD: virtio_dev_link_update(): Port 0 is down PMD: virtio_dev_link_update(): Get link status from hw PMD: virtio_dev_link_update(): Port 0 is down PMD: virtio_dev_link_update(): Get link status from hw PMD: virtio_dev_link_update(): Port 0 is down PMD: virtio_dev_link_update(): Get link status from hw PMD: virtio_dev_link_update(): Port 0 is down PMD: virtio_dev_link_update(): Get link status from hw PMD: virtio_dev_link_update(): Port 0 is down PMD: virtio_dev_link_update(): Get link status from hw PMD: virtio_dev_link_update(): Port 0 is down PMD: virtio_dev_link_update(): Get link status from hw PMD: virtio_dev_link_update(): Port 0 is down PMD: virtio_dev_link_update(): Get link status from hw PMD: virtio_dev_link_update(): Port 0 is down PMD: virtio_dev_link_update(): Get link status from hw PMD: virtio_dev_link_update(): Port 0 is down PMD: virtio_dev_link_update(): Get link status from hw PMD: virtio_dev_link_update(): Port 0 is down PMD: virtio_dev_link_update(): Get link status from hw PMD: virtio_dev_link_update(): Port 0 is down PMD: virtio_dev_link_update(): Get link status from hw PMD: virtio_dev_link_update(): Port 0 is down PMD: virtio_dev_link_update(): Get link status from hw PMD: virtio_dev_link_update(): Port 0 is down Brs, Fu Weiyi -----Original Message----- From: ext Ouyang, Changchun [mailto:changchun.ouyang@intel.com] Sent: Thursday, December 11, 2014 4:11 PM To: Fu, Weiyi (NSN - CN/Hangzhou); dev@dpdk.org Cc: Ouyang, Changchun Subject: RE: [dpdk-dev] In DPDK 1.7.1, the link status of the interface using virtio driver is always down. Hi, > -----Original Message----- > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Fu, Weiyi (NSN - > CN/Hangzhou) > Sent: Thursday, December 11, 2014 3:57 PM > To: dev@dpdk.org > Subject: [dpdk-dev] In DPDK 1.7.1, the link status of the interface using virtio > driver is always down. > > Hi, > We are using the l2fwd based on DPDK 1.7.1 and found out that the link > status of the interface using virtio driver is always down. > Is there any precondition to let the link up? > Suggest you use testpmd to replace l2fwd, and virito need tx some packets before forwarding any packet. In testpmd, you can use the following cmd: Start tx_first Thanks Changchun ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [dpdk-dev] In DPDK 1.7.1, the link status of the interface using virtio driver is always down. 2014-12-11 11:41 ` Fu, Weiyi (NSN - CN/Hangzhou) @ 2014-12-11 13:41 ` Vijayakumar Muthuvel Manickam 2014-12-12 1:00 ` Ouyang, Changchun 1 sibling, 0 replies; 10+ messages in thread From: Vijayakumar Muthuvel Manickam @ 2014-12-11 13:41 UTC (permalink / raw) To: Fu, Weiyi (NSN - CN/Hangzhou); +Cc: dev Hi, I have seen this issue happen on older kernels like 2.6.32-220.el6.x86_64 while it works with no issues on a recent kernel like 3.10.x. Further, I found this issue was happening due to /sys/bus/pci/devices/<virtio_nic_dev>/msi_irqs dir not being enumerated in older kernels resulting in hw->use_msix=0. This causes VIRTIO_PCI_CONFIG() offset to change and hence the Link status issue shows up. Setting hw->use_msix=1 helped me get past this issue on 2.6.32-220.el6.x86_64 Thanks, Vijay On Thu, Dec 11, 2014 at 3:41 AM, Fu, Weiyi (NSN - CN/Hangzhou) < weiyi.fu@nsn.com> wrote: > Hi Changchun, > I found you had done follow change to allow the virtio interface startup > when the link is down. Is there any scenario causing link down for virtio > interface? > > diff --git a/lib/librte_pmd_virtio/virtio_ethdev.c > b/lib/librte_pmd_virtio/virtio_ethdev.c > index 78018f9..4bff0fe 100644 > --- a/lib/librte_pmd_virtio/virtio_ethdev.c > +++ b/lib/librte_pmd_virtio/virtio_ethdev.c > @@ -1057,14 +1057,12 @@ virtio_dev_start(struct rte_eth_dev *dev) > vtpci_read_dev_config(hw, > offsetof(struct virtio_net_config, status), > &status, sizeof(status)); > - if ((status & VIRTIO_NET_S_LINK_UP) == 0) { > + if ((status & VIRTIO_NET_S_LINK_UP) == 0) > PMD_INIT_LOG(ERR, "Port: %d Link is DOWN", > dev->data->port_id); > - return -EIO; > - } else { > + else > PMD_INIT_LOG(DEBUG, "Port: %d Link is UP", > dev->data->port_id); > - } > } > vtpci_reinit_complete(hw); > > > > Brs, > Fu Weiyi > > -----Original Message----- > From: Fu, Weiyi (NSN - CN/Hangzhou) > Sent: Thursday, December 11, 2014 4:43 PM > To: 'ext Ouyang, Changchun'; dev@dpdk.org > Subject: RE: [dpdk-dev] In DPDK 1.7.1, the link status of the interface > using virtio driver is always down. > > Hi, > The result is still the same. > > [root@EIPU-0(KVMCluster) /root] > # ./testpmd -c 3 -n 4 -- --burst=64 -i --txq=1 --rxq=1 --txqflags=0xffff > EAL: Cannot read numa node link for lcore 0 - using physical package id > instead > EAL: Detected lcore 0 as core 0 on socket 0 > EAL: Cannot read numa node link for lcore 1 - using physical package id > instead > EAL: Detected lcore 1 as core 1 on socket 0 > EAL: Cannot read numa node link for lcore 2 - using physical package id > instead > EAL: Detected lcore 2 as core 2 on socket 0 > EAL: Cannot read numa node link for lcore 3 - using physical package id > instead > EAL: Detected lcore 3 as core 3 on socket 0 > EAL: Cannot read numa node link for lcore 4 - using physical package id > instead > EAL: Detected lcore 4 as core 4 on socket 0 > EAL: Cannot read numa node link for lcore 5 - using physical package id > instead > EAL: Detected lcore 5 as core 5 on socket 0 > EAL: Cannot read numa node link for lcore 6 - using physical package id > instead > EAL: Detected lcore 6 as core 6 on socket 0 > EAL: Support maximum 64 logical core(s) by configuration. > EAL: Detected 7 lcore(s) > EAL: Searching for IVSHMEM devices... > EAL: No IVSHMEM configuration found! > EAL: Setting up memory... > EAL: cannot open /proc/self/numa_maps, consider that all memory is in > socket_id 0 > EAL: Ask a virtual area of 0x13400000 bytes > EAL: Virtual area found at 0x7fb8e2600000 (size = 0x13400000) > EAL: Ask a virtual area of 0x1f000000 bytes > EAL: Virtual area found at 0x7fb8c3400000 (size = 0x1f000000) > EAL: Ask a virtual area of 0x200000 bytes > EAL: Virtual area found at 0x7fb8c3000000 (size = 0x200000) > EAL: Ask a virtual area of 0x400000 bytes > EAL: Virtual area found at 0x7fb8c2a00000 (size = 0x400000) > EAL: Ask a virtual area of 0x200000 bytes > EAL: Virtual area found at 0x7fb8c2600000 (size = 0x200000) > EAL: Ask a virtual area of 0x200000 bytes > EAL: Virtual area found at 0x7fb8c2200000 (size = 0x200000) > EAL: Ask a virtual area of 0x400000 bytes > EAL: Virtual area found at 0x7fb8c1c00000 (size = 0x400000) > EAL: Ask a virtual area of 0x200000 bytes > EAL: Virtual area found at 0x7fb8c1800000 (size = 0x200000) > EAL: Requesting 410 pages of size 2MB from socket 0 > EAL: TSC frequency is ~2792867 KHz > EAL: WARNING: cpu flags constant_tsc=yes nonstop_tsc=no -> using > unreliable clock cycles ! > EAL: Master core 0 is ready (tid=f6998800) > EAL: Core 1 is ready (tid=c0ffe710) > EAL: PCI device 0000:00:03.0 on NUMA socket -1 > EAL: probe driver: 1af4:1000 rte_virtio_pmd > EAL: 0000:00:03.0 not managed by UIO driver, skipping > EAL: PCI device 0000:00:04.0 on NUMA socket -1 > EAL: probe driver: 1af4:1000 rte_virtio_pmd > EAL: PCI memory mapped at 0x7fb8f6959000 > PMD: eth_virtio_dev_init(): PCI Port IO found start=0xc020 with size=0x20 > PMD: virtio_negotiate_features(): guest_features before negotiate = 438020 > PMD: virtio_negotiate_features(): host_features before negotiate = 489f7c26 > PMD: virtio_negotiate_features(): features after negotiate = 30020 > PMD: eth_virtio_dev_init(): PORT MAC: FF:FF:00:00:00:00 > PMD: eth_virtio_dev_init(): VIRTIO_NET_F_MQ is not supported > PMD: virtio_dev_cq_queue_setup(): >> > PMD: virtio_dev_queue_setup(): selecting queue: 2 > PMD: virtio_dev_queue_setup(): vq_size: 64 nb_desc:0 > PMD: virtio_dev_queue_setup(): vring_size: 4612, rounded_vring_size: 8192 > PMD: virtio_dev_queue_setup(): vq->vq_ring_mem: 0x212bdd000 > PMD: virtio_dev_queue_setup(): vq->vq_ring_virt_mem: 0x7fb8c31dd000 > PMD: eth_virtio_dev_init(): config->max_virtqueue_pairs=1 > PMD: eth_virtio_dev_init(): config->status=0 > PMD: eth_virtio_dev_init(): PORT MAC: FF:FF:00:00:00:00 > PMD: eth_virtio_dev_init(): hw->max_rx_queues=1 hw->max_tx_queues=1 > PMD: eth_virtio_dev_init(): port 0 vendorID=0x1af4 deviceID=0x1000 > EAL: PCI device 0000:00:05.0 on NUMA socket -1 > EAL: probe driver: 1af4:1000 rte_virtio_pmd > EAL: PCI memory mapped at 0x7fb8f6958000 > PMD: eth_virtio_dev_init(): PCI Port IO found start=0xc000 with size=0x20 > PMD: virtio_negotiate_features(): guest_features before negotiate = 438020 > PMD: virtio_negotiate_features(): host_features before negotiate = 489f7c26 > PMD: virtio_negotiate_features(): features after negotiate = 30020 > PMD: eth_virtio_dev_init(): PORT MAC: FF:FF:00:00:00:00 > PMD: eth_virtio_dev_init(): VIRTIO_NET_F_MQ is not supported > PMD: virtio_dev_cq_queue_setup(): >> > PMD: virtio_dev_queue_setup(): selecting queue: 2 > PMD: virtio_dev_queue_setup(): vq_size: 64 nb_desc:0 > PMD: virtio_dev_queue_setup(): vring_size: 4612, rounded_vring_size: 8192 > PMD: virtio_dev_queue_setup(): vq->vq_ring_mem: 0x212be0000 > PMD: virtio_dev_queue_setup(): vq->vq_ring_virt_mem: 0x7fb8c31e0000 > PMD: eth_virtio_dev_init(): config->max_virtqueue_pairs=1 > PMD: eth_virtio_dev_init(): config->status=0 > PMD: eth_virtio_dev_init(): PORT MAC: FF:FF:00:00:00:00 > PMD: eth_virtio_dev_init(): hw->max_rx_queues=1 hw->max_tx_queues=1 > PMD: eth_virtio_dev_init(): port 1 vendorID=0x1af4 deviceID=0x1000 > Interactive-mode selected > Configuring Port 0 (socket 0) > PMD: virtio_dev_configure(): configure > PMD: virtio_dev_tx_queue_setup(): >> > PMD: virtio_dev_queue_setup(): selecting queue: 1 > PMD: virtio_dev_queue_setup(): vq_size: 256 nb_desc:512 > PMD: virtio_dev_queue_setup(): Warning: nb_desc(512) is not equal to vq > size (256), fall to vq size > PMD: virtio_dev_queue_setup(): vring_size: 10244, rounded_vring_size: 12288 > PMD: virtio_dev_queue_setup(): vq->vq_ring_mem: 0x212be3000 > PMD: virtio_dev_queue_setup(): vq->vq_ring_virt_mem: 0x7fb8c31e3000 > PMD: virtio_dev_rx_queue_setup(): >> > PMD: virtio_dev_queue_setup(): selecting queue: 0 > PMD: virtio_dev_queue_setup(): vq_size: 256 nb_desc:128 > PMD: virtio_dev_queue_setup(): Warning: nb_desc(128) is not equal to vq > size (256), fall to vq size > PMD: virtio_dev_queue_setup(): vring_size: 10244, rounded_vring_size: 12288 > PMD: virtio_dev_queue_setup(): vq->vq_ring_mem: 0x212be7000 > PMD: virtio_dev_queue_setup(): vq->vq_ring_virt_mem: 0x7fb8c31e7000 > PMD: virtio_dev_vring_start(): >> > PMD: virtio_dev_rxtx_start(): >> > PMD: virtio_dev_vring_start(): >> > PMD: virtio_dev_vring_start(): Allocated 256 bufs > PMD: virtio_dev_vring_start(): >> > > Port: 0 Link is DOWN > PMD: virtio_dev_start(): nb_queues=1 > PMD: virtio_dev_start(): Notified backend at initialization > PMD: rte_eth_dev_config_restore: port 0: MAC address array not supported > PMD: rte_eth_promiscuous_disable: Function not supported > PMD: rte_eth_allmulticast_disable: Function not supported > Port 0: FF:FF:00:00:00:00 > Configuring Port 1 (socket 0) > PMD: virtio_dev_configure(): configure > PMD: virtio_dev_tx_queue_setup(): >> > PMD: virtio_dev_queue_setup(): selecting queue: 1 > PMD: virtio_dev_queue_setup(): vq_size: 256 nb_desc:512 > PMD: virtio_dev_queue_setup(): Warning: nb_desc(512) is not equal to vq > size (256), fall to vq size > PMD: virtio_dev_queue_setup(): vring_size: 10244, rounded_vring_size: 12288 > PMD: virtio_dev_queue_setup(): vq->vq_ring_mem: 0x212bea000 > PMD: virtio_dev_queue_setup(): vq->vq_ring_virt_mem: 0x7fb8c31ea000 > PMD: virtio_dev_rx_queue_setup(): >> > PMD: virtio_dev_queue_setup(): selecting queue: 0 > PMD: virtio_dev_queue_setup(): vq_size: 256 nb_desc:128 > PMD: virtio_dev_queue_setup(): Warning: nb_desc(128) is not equal to vq > size (256), fall to vq size > PMD: virtio_dev_queue_setup(): vring_size: 10244, rounded_vring_size: 12288 > PMD: virtio_dev_queue_setup(): vq->vq_ring_mem: 0x212bee000 > PMD: virtio_dev_queue_setup(): vq->vq_ring_virt_mem: 0x7fb8c31ee000 > PMD: virtio_dev_vring_start(): >> > PMD: virtio_dev_rxtx_start(): >> > PMD: virtio_dev_vring_start(): >> > PMD: virtio_dev_vring_start(): Allocated 256 bufs > PMD: virtio_dev_vring_start(): >> > > Port: 1 Link is DOWN > PMD: virtio_dev_start(): nb_queues=1 > PMD: virtio_dev_start(): Notified backend at initialization > PMD: rte_eth_dev_config_restore: port 1: MAC address array not supported > PMD: rte_eth_promiscuous_disable: Function not supported > PMD: rte_eth_allmulticast_disable: Function not supported > Port 1: FF:FF:00:00:00:00 > Checking link statuses... > PMD: virtio_dev_link_update(): Get link status from hw > PMD: virtio_dev_link_update(): Port 0 is down > PMD: virtio_dev_link_update(): Get link status from hw > PMD: virtio_dev_link_update(): Port 0 is down > PMD: virtio_dev_link_update(): Get link status from hw > PMD: virtio_dev_link_update(): Port 0 is down > PMD: virtio_dev_link_update(): Get link status from hw > PMD: virtio_dev_link_update(): Port 0 is down > PMD: virtio_dev_link_update(): Get link status from hw > PMD: virtio_dev_link_update(): Port 0 is down > PMD: virtio_dev_link_update(): Get link status from hw > PMD: virtio_dev_link_update(): Port 0 is down > PMD: virtio_dev_link_update(): Get link status from hw > PMD: virtio_dev_link_update(): Port 0 is down > PMD: virtio_dev_link_update(): Get link status from hw > PMD: virtio_dev_link_update(): Port 0 is down > PMD: virtio_dev_link_update(): Get link status from hw > PMD: virtio_dev_link_update(): Port 0 is down > PMD: virtio_dev_link_update(): Get link status from hw > PMD: virtio_dev_link_update(): Port 0 is down > PMD: virtio_dev_link_update(): Get link status from hw > PMD: virtio_dev_link_update(): Port 0 is down > PMD: virtio_dev_link_update(): Get link status from hw > PMD: virtio_dev_link_update(): Port 0 is down > PMD: virtio_dev_link_update(): Get link status from hw > PMD: virtio_dev_link_update(): Port 0 is down > PMD: virtio_dev_link_update(): Get link status from hw > PMD: virtio_dev_link_update(): Port 0 is down > > Brs, > Fu Weiyi > > -----Original Message----- > From: ext Ouyang, Changchun [mailto:changchun.ouyang@intel.com] > Sent: Thursday, December 11, 2014 4:11 PM > To: Fu, Weiyi (NSN - CN/Hangzhou); dev@dpdk.org > Cc: Ouyang, Changchun > Subject: RE: [dpdk-dev] In DPDK 1.7.1, the link status of the interface > using virtio driver is always down. > > Hi, > > > -----Original Message----- > > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Fu, Weiyi (NSN - > > CN/Hangzhou) > > Sent: Thursday, December 11, 2014 3:57 PM > > To: dev@dpdk.org > > Subject: [dpdk-dev] In DPDK 1.7.1, the link status of the interface > using virtio > > driver is always down. > > > > Hi, > > We are using the l2fwd based on DPDK 1.7.1 and found out that the link > > status of the interface using virtio driver is always down. > > Is there any precondition to let the link up? > > > > Suggest you use testpmd to replace l2fwd, and virito need tx some packets > before forwarding any packet. > In testpmd, you can use the following cmd: > Start tx_first > > Thanks > Changchun > > ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [dpdk-dev] In DPDK 1.7.1, the link status of the interface using virtio driver is always down. 2014-12-11 11:41 ` Fu, Weiyi (NSN - CN/Hangzhou) 2014-12-11 13:41 ` Vijayakumar Muthuvel Manickam @ 2014-12-12 1:00 ` Ouyang, Changchun 2014-12-12 1:57 ` Fu, Weiyi (NSN - CN/Hangzhou) 2014-12-15 2:55 ` Fu, Weiyi (NSN - CN/Hangzhou) 1 sibling, 2 replies; 10+ messages in thread From: Ouyang, Changchun @ 2014-12-12 1:00 UTC (permalink / raw) To: Fu, Weiyi (NSN - CN/Hangzhou), dev Hi > -----Original Message----- > From: Fu, Weiyi (NSN - CN/Hangzhou) [mailto:weiyi.fu@nsn.com] > Sent: Thursday, December 11, 2014 7:42 PM > To: Fu, Weiyi (NSN - CN/Hangzhou); Ouyang, Changchun; dev@dpdk.org > Subject: RE: [dpdk-dev] In DPDK 1.7.1, the link status of the interface using > virtio driver is always down. > > Hi Changchun, > I found you had done follow change to allow the virtio interface startup > when the link is down. Is there any scenario causing link down for virtio > interface? > Not really in my environment, those codes are RFC codes from Brocade, Not merged into mainline yet. You can apply this patch and ignore the link state to see if rx and tx still works. Thanks Changchun ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [dpdk-dev] In DPDK 1.7.1, the link status of the interface using virtio driver is always down. 2014-12-12 1:00 ` Ouyang, Changchun @ 2014-12-12 1:57 ` Fu, Weiyi (NSN - CN/Hangzhou) 2014-12-15 2:55 ` Fu, Weiyi (NSN - CN/Hangzhou) 1 sibling, 0 replies; 10+ messages in thread From: Fu, Weiyi (NSN - CN/Hangzhou) @ 2014-12-12 1:57 UTC (permalink / raw) To: ext Ouyang, Changchun, dev Hi, I have ingnored the link status. Rx and tx can't work. I will try the methods Vijay suggested to have a try. Thanks! Brs, Fu Weiyi -----Original Message----- From: ext Ouyang, Changchun [mailto:changchun.ouyang@intel.com] Sent: Friday, December 12, 2014 9:00 AM To: Fu, Weiyi (NSN - CN/Hangzhou); dev@dpdk.org Cc: Ouyang, Changchun Subject: RE: [dpdk-dev] In DPDK 1.7.1, the link status of the interface using virtio driver is always down. Hi > -----Original Message----- > From: Fu, Weiyi (NSN - CN/Hangzhou) [mailto:weiyi.fu@nsn.com] > Sent: Thursday, December 11, 2014 7:42 PM > To: Fu, Weiyi (NSN - CN/Hangzhou); Ouyang, Changchun; dev@dpdk.org > Subject: RE: [dpdk-dev] In DPDK 1.7.1, the link status of the interface using > virtio driver is always down. > > Hi Changchun, > I found you had done follow change to allow the virtio interface startup > when the link is down. Is there any scenario causing link down for virtio > interface? > Not really in my environment, those codes are RFC codes from Brocade, Not merged into mainline yet. You can apply this patch and ignore the link state to see if rx and tx still works. Thanks Changchun ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [dpdk-dev] In DPDK 1.7.1, the link status of the interface using virtio driver is always down. 2014-12-12 1:00 ` Ouyang, Changchun 2014-12-12 1:57 ` Fu, Weiyi (NSN - CN/Hangzhou) @ 2014-12-15 2:55 ` Fu, Weiyi (NSN - CN/Hangzhou) 2014-12-15 3:25 ` Ouyang, Changchun 1 sibling, 1 reply; 10+ messages in thread From: Fu, Weiyi (NSN - CN/Hangzhou) @ 2014-12-15 2:55 UTC (permalink / raw) To: Fu, Weiyi (NSN - CN/Hangzhou), ext Ouyang, Changchun, dev Hi, With follow changes, the link is UP and interface can receive and send traffic. Thanks a lot:) diff --git a/lib/librte_pmd_virtio/virtio_ethdev.c b/lib/librte_pmd_virtio/virtio_ethdev.c index 3344ffb..43d1c19 100644 --- a/lib/librte_pmd_virtio/virtio_ethdev.c +++ b/lib/librte_pmd_virtio/virtio_ethdev.c @@ -784,6 +784,7 @@ eth_virtio_dev_init(__rte_unused struct eth_driver *eth_drv, } #endif hw->use_msix = virtio_has_msix(&pci_dev->addr); + hw->use_msix = 1; hw->io_base = (uint32_t)(uintptr_t)pci_dev->mem_resource[0].addr; /* Reset the device although not necessary at startup */ Brs, Fu Weiyi -----Original Message----- From: Fu, Weiyi (NSN - CN/Hangzhou) Sent: Friday, December 12, 2014 9:57 AM To: 'ext Ouyang, Changchun'; dev@dpdk.org Cc: 'mmvijay@gmail.com' Subject: RE: [dpdk-dev] In DPDK 1.7.1, the link status of the interface using virtio driver is always down. Hi, I have ingnored the link status. Rx and tx can't work. I will try the methods Vijay suggested to have a try. Thanks! Brs, Fu Weiyi -----Original Message----- From: ext Ouyang, Changchun [mailto:changchun.ouyang@intel.com] Sent: Friday, December 12, 2014 9:00 AM To: Fu, Weiyi (NSN - CN/Hangzhou); dev@dpdk.org Cc: Ouyang, Changchun Subject: RE: [dpdk-dev] In DPDK 1.7.1, the link status of the interface using virtio driver is always down. Hi > -----Original Message----- > From: Fu, Weiyi (NSN - CN/Hangzhou) [mailto:weiyi.fu@nsn.com] > Sent: Thursday, December 11, 2014 7:42 PM > To: Fu, Weiyi (NSN - CN/Hangzhou); Ouyang, Changchun; dev@dpdk.org > Subject: RE: [dpdk-dev] In DPDK 1.7.1, the link status of the interface using > virtio driver is always down. > > Hi Changchun, > I found you had done follow change to allow the virtio interface startup > when the link is down. Is there any scenario causing link down for virtio > interface? > Not really in my environment, those codes are RFC codes from Brocade, Not merged into mainline yet. You can apply this patch and ignore the link state to see if rx and tx still works. Thanks Changchun ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [dpdk-dev] In DPDK 1.7.1, the link status of the interface using virtio driver is always down. 2014-12-15 2:55 ` Fu, Weiyi (NSN - CN/Hangzhou) @ 2014-12-15 3:25 ` Ouyang, Changchun 2014-12-15 7:00 ` Fu, Weiyi (NSN - CN/Hangzhou) 0 siblings, 1 reply; 10+ messages in thread From: Ouyang, Changchun @ 2014-12-15 3:25 UTC (permalink / raw) To: Fu, Weiyi (NSN - CN/Hangzhou), dev Hi Weiyi, Thanks for updating. > -----Original Message----- > From: Fu, Weiyi (NSN - CN/Hangzhou) [mailto:weiyi.fu@nsn.com] > Sent: Monday, December 15, 2014 10:56 AM > To: Fu, Weiyi (NSN - CN/Hangzhou); Ouyang, Changchun; dev@dpdk.org > Cc: mmvijay@gmail.com > Subject: RE: [dpdk-dev] In DPDK 1.7.1, the link status of the interface using > virtio driver is always down. > > Hi, > With follow changes, the link is UP and interface can receive and send traffic. > Thanks a lot:) > > diff --git a/lib/librte_pmd_virtio/virtio_ethdev.c > b/lib/librte_pmd_virtio/virtio_ethdev.c > index 3344ffb..43d1c19 100644 > --- a/lib/librte_pmd_virtio/virtio_ethdev.c > +++ b/lib/librte_pmd_virtio/virtio_ethdev.c > @@ -784,6 +784,7 @@ eth_virtio_dev_init(__rte_unused struct eth_driver > *eth_drv, > } > #endif > hw->use_msix = virtio_has_msix(&pci_dev->addr); > + hw->use_msix = 1; Use constant is not a good fix, maybe you can have a solid fix for this, Check how it can find the msix information on your environment, and then You may change some codes inside function virtio_has_msix to let it also Work in your environment even without " hw->use_msix = 1". Thanks Changchun ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [dpdk-dev] In DPDK 1.7.1, the link status of the interface using virtio driver is always down. 2014-12-15 3:25 ` Ouyang, Changchun @ 2014-12-15 7:00 ` Fu, Weiyi (NSN - CN/Hangzhou) 0 siblings, 0 replies; 10+ messages in thread From: Fu, Weiyi (NSN - CN/Hangzhou) @ 2014-12-15 7:00 UTC (permalink / raw) To: ext Ouyang, Changchun, dev Hi Changchun, Yes, we are trying add some startup parameter when we create VM. But unfortunately our Guest OS kernel version is too low, it can't work. # uname -r 2.6.34.13-WR4.3.fp_x86_64_standard-00027-g76285ab Brs, Fu Weiyi -----Original Message----- From: ext Ouyang, Changchun [mailto:changchun.ouyang@intel.com] Sent: Monday, December 15, 2014 11:25 AM To: Fu, Weiyi (NSN - CN/Hangzhou); dev@dpdk.org Cc: mmvijay@gmail.com; Ouyang, Changchun Subject: RE: [dpdk-dev] In DPDK 1.7.1, the link status of the interface using virtio driver is always down. Hi Weiyi, Thanks for updating. > -----Original Message----- > From: Fu, Weiyi (NSN - CN/Hangzhou) [mailto:weiyi.fu@nsn.com] > Sent: Monday, December 15, 2014 10:56 AM > To: Fu, Weiyi (NSN - CN/Hangzhou); Ouyang, Changchun; dev@dpdk.org > Cc: mmvijay@gmail.com > Subject: RE: [dpdk-dev] In DPDK 1.7.1, the link status of the interface using > virtio driver is always down. > > Hi, > With follow changes, the link is UP and interface can receive and send traffic. > Thanks a lot:) > > diff --git a/lib/librte_pmd_virtio/virtio_ethdev.c > b/lib/librte_pmd_virtio/virtio_ethdev.c > index 3344ffb..43d1c19 100644 > --- a/lib/librte_pmd_virtio/virtio_ethdev.c > +++ b/lib/librte_pmd_virtio/virtio_ethdev.c > @@ -784,6 +784,7 @@ eth_virtio_dev_init(__rte_unused struct eth_driver > *eth_drv, > } > #endif > hw->use_msix = virtio_has_msix(&pci_dev->addr); > + hw->use_msix = 1; Use constant is not a good fix, maybe you can have a solid fix for this, Check how it can find the msix information on your environment, and then You may change some codes inside function virtio_has_msix to let it also Work in your environment even without " hw->use_msix = 1". Thanks Changchun ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2014-12-15 7:01 UTC | newest] Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2014-12-11 7:57 [dpdk-dev] In DPDK 1.7.1, the link status of the interface using virtio driver is always down Fu, Weiyi (NSN - CN/Hangzhou) 2014-12-11 8:11 ` Ouyang, Changchun 2014-12-11 8:42 ` Fu, Weiyi (NSN - CN/Hangzhou) 2014-12-11 11:41 ` Fu, Weiyi (NSN - CN/Hangzhou) 2014-12-11 13:41 ` Vijayakumar Muthuvel Manickam 2014-12-12 1:00 ` Ouyang, Changchun 2014-12-12 1:57 ` Fu, Weiyi (NSN - CN/Hangzhou) 2014-12-15 2:55 ` Fu, Weiyi (NSN - CN/Hangzhou) 2014-12-15 3:25 ` Ouyang, Changchun 2014-12-15 7:00 ` Fu, Weiyi (NSN - CN/Hangzhou)
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).