[dpdk-dev] olflags in SRIOV VF environment
Thanks Vladimir ! That seems to be the issue. Better to parse it by hand right now instead of depending on ol_flags. Regards -Prashant From: Vladimir Medvedkin [mailto:medvedk...@gmail.com] Sent: Tuesday, November 12, 2013 7:54 PM To: Prashant Upadhyaya Cc: dev at dpdk.org Subject: Re: [dpdk-dev] olflags in SRIOV VF environment Hi Prashant, May be it doesn't work due to Known Issues and Limitations (see Release Notes) quote: 6.1 In packets provided by the PMD, some flags are missing In packets provided by the PMD, some flags are missing. The application does not have access to information provided by the hardware (packet is broadcast, packet is multicast, packet is IPv4 and so on). Regards, Vladimir 2013/11/12 Prashant Upadhyaya mailto:prashant.upadhyaya at aricent.com>> Hi guys, I am facing a peculiar issue with the usage of struct rte_mbuf-> ol_flags field in the rte_mbuf when I receive the packets with the rte_eth_rx_burst function. I use the ol_flags field to identify whether is an IPv4 or IPv6 packet or not thus - if ((pkts_burst->ol_flags & PKT_RX_IPV4_HDR) || (pkts_burst->ol_flags & PKT_RX_IPV6_HDR)) [pkts_burst is my rte_mbuf pointer] Now here are the observations - 1. This works mighty fine when my app is working on the native machine 2. This works good when I run this in a VM and use one VF over SRIOV from one NIC port 3. This works good when I run this in two VM's and use one VF from 2 different NIC ports (one VF from each) and use these VF's in these 2 VM's (VF1 from NIC port1 in VM1 and VF2 from NIC port2 in VM2) 4. However the ol_flags fails to classify the packets when I use 2 VM's and use 2 VF's from the 'same' NIC port and expose one each to the 2 VM's I have There is no bug in my 'own' application, because when I stopped inspecting the ol_flags for classification of IPv4 and V6 packets and wrote a mini logic of my own by inspecting the ether type of the packets (the packets themselves come proper in all the cases, thankfully), my entire usecase passes (it is a rather significant usecase, so it can't be luck) Any idea guys why it works and doesn't work ? Regards -Prashant === Please refer to http://www.aricent.com/legal/email_disclaimer.html for important disclosures regarding this electronic communication. === === Please refer to http://www.aricent.com/legal/email_disclaimer.html for important disclosures regarding this electronic communication. ===
[dpdk-dev] pci_unbind.py failure
hi I got my application running inside a vm (vmplayer) where the VM emulates a e1000 NIC (82545EM). But rte_eth_dev_count() seems to return 0.. From the website looks like it's a supported NIC . My lspci and pci_ubind status is below. Any pointers? # ./tools/pci_unbind.py --status Network devices using IGB_UIO driver :02:06.0 '82545EM Gigabit Ethernet Controller (Copper)' drv=igb_uio unused=e1000 Network devices using kernel driver === :02:01.0 '79c970 [PCnet32 LANCE]' if=eth1 drv=pcnet32 unused= *Active* Other network devices = # lspci -vt -[:00]-+-00.0 Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge +-01.0-[01]-- +-07.0 Intel Corporation 82371AB/EB/MB PIIX4 ISA +-07.1 Intel Corporation 82371AB/EB/MB PIIX4 IDE +-07.3 Intel Corporation 82371AB/EB/MB PIIX4 ACPI +-07.7 VMware Virtual Machine Communication Interface +-0f.0 VMware SVGA II Adapter +-10.0 LSI Logic / Symbios Logic 53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI +-11.0-[02]--+-00.0 VMware USB1.1 UHCI Controller |+-01.0 Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE] |+-02.0 Ensoniq ES1371 [AudioPCI-97] |+-03.0 VMware USB2 EHCI Controller |+-05.0 VMware Device 07e0 |\-06.0 Intel Corporation 82545EM Gigabit Ethernet Controller (Copper) +-15.0-[03]-- +-15.1-[04]-- +-15.2-[05]-- +-15.3-[06]-- +-15.4-[07]-- +-15.5-[08]-- +-15.6-[09]-- +-15.7-[0a]-- +-16.0-[0b]-- +-16.1-[0c]-- +-16.2-[0d]-- +-16.3-[0e]-- +-16.4-[0f]-- +-16.5-[10]-- +-16.6-[11]-- +-16.7-[12]-- +-17.0-[13]-- +-17.1-[14]-- +-17.2-[15]-- +-17.3-[16]-- +-17.4-[17]-- +-17.5-[18]-- +-17.6-[19]-- +-17.7-[1a]-- +-18.0-[1b]-- +-18.1-[1c]-- +-18.2-[1d]-- +-18.3-[1e]-- +-18.4-[1f]-- +-18.5-[20]-- +-18.6-[21]-- \-18.7-[22]-- Regards Jyotiswarup On Tue, Nov 5, 2013 at 9:34 PM, Cyril Cressent wrote: > On Tue, Nov 05, 2013 at 08:01:06PM +0530, Jyotiswarup Raiturkar wrote: > > > Thanks for the quick reply. I saw some definitions of e1000_phy_82579 > hence > > I thought (hoped) the NIC would be supported. I will try to run my dpdk > app > > inside a VM with an emulated e1000 NIC (just to test the code ..). > > As a general rule, even if you find references to a NIC in the poll mode > drivers, if it's not listed in > lib/librte_eal/common/include/rte_pci_dev_ids.h > then consider the NIC as not supported. > > Good luck with the VM, > > Cyril >
[dpdk-dev] pci_unbind.py failure
Hi, How are you using it? I've successfully used it with vbox. Cheers On Nov 13, 2013 7:17 PM, "Jyotiswarup Raiturkar" wrote: > hi > > I got my application running inside a vm (vmplayer) where the VM emulates a > e1000 NIC (82545EM). But rte_eth_dev_count() seems to return 0.. From the > website looks like it's a supported NIC . My lspci and pci_ubind status is > below. Any pointers? > > # ./tools/pci_unbind.py --status > > Network devices using IGB_UIO driver > > :02:06.0 '82545EM Gigabit Ethernet Controller (Copper)' drv=igb_uio > unused=e1000 > > Network devices using kernel driver > === > :02:01.0 '79c970 [PCnet32 LANCE]' if=eth1 drv=pcnet32 unused= *Active* > > Other network devices > = > > > > # lspci -vt > -[:00]-+-00.0 Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host > bridge >+-01.0-[01]-- >+-07.0 Intel Corporation 82371AB/EB/MB PIIX4 ISA >+-07.1 Intel Corporation 82371AB/EB/MB PIIX4 IDE >+-07.3 Intel Corporation 82371AB/EB/MB PIIX4 ACPI >+-07.7 VMware Virtual Machine Communication Interface >+-0f.0 VMware SVGA II Adapter >+-10.0 LSI Logic / Symbios Logic 53c1030 PCI-X Fusion-MPT Dual > Ultra320 SCSI >+-11.0-[02]--+-00.0 VMware USB1.1 UHCI Controller >|+-01.0 Advanced Micro Devices [AMD] 79c970 > [PCnet32 LANCE] >|+-02.0 Ensoniq ES1371 [AudioPCI-97] >|+-03.0 VMware USB2 EHCI Controller >|+-05.0 VMware Device 07e0 >|\-06.0 Intel Corporation 82545EM Gigabit Ethernet > Controller (Copper) >+-15.0-[03]-- >+-15.1-[04]-- >+-15.2-[05]-- >+-15.3-[06]-- >+-15.4-[07]-- >+-15.5-[08]-- >+-15.6-[09]-- >+-15.7-[0a]-- >+-16.0-[0b]-- >+-16.1-[0c]-- >+-16.2-[0d]-- >+-16.3-[0e]-- >+-16.4-[0f]-- >+-16.5-[10]-- >+-16.6-[11]-- >+-16.7-[12]-- >+-17.0-[13]-- >+-17.1-[14]-- >+-17.2-[15]-- >+-17.3-[16]-- >+-17.4-[17]-- >+-17.5-[18]-- >+-17.6-[19]-- >+-17.7-[1a]-- >+-18.0-[1b]-- >+-18.1-[1c]-- >+-18.2-[1d]-- >+-18.3-[1e]-- >+-18.4-[1f]-- >+-18.5-[20]-- >+-18.6-[21]-- >\-18.7-[22]-- > > > Regards > Jyotiswarup > > > On Tue, Nov 5, 2013 at 9:34 PM, Cyril Cressent >wrote: > > > On Tue, Nov 05, 2013 at 08:01:06PM +0530, Jyotiswarup Raiturkar wrote: > > > > > Thanks for the quick reply. I saw some definitions of e1000_phy_82579 > > hence > > > I thought (hoped) the NIC would be supported. I will try to run my dpdk > > app > > > inside a VM with an emulated e1000 NIC (just to test the code ..). > > > > As a general rule, even if you find references to a NIC in the poll mode > > drivers, if it's not listed in > > lib/librte_eal/common/include/rte_pci_dev_ids.h > > then consider the NIC as not supported. > > > > Good luck with the VM, > > > > Cyril > > >
[dpdk-dev] pci_unbind.py failure
Hi Jyotiswarup, Did you initialized all the relevant parts before (rte_eal_init(), rte_pmd_init_all() and don't forget rte_eal_pci_probe())? Regards, Daniel On Wed, Nov 13, 2013 at 1:27 PM, Jose Gavine Cueto wrote: > Hi, > > How are you using it? I've successfully used it with vbox. > > Cheers > On Nov 13, 2013 7:17 PM, "Jyotiswarup Raiturkar" > wrote: > > > hi > > > > I got my application running inside a vm (vmplayer) where the VM > emulates a > > e1000 NIC (82545EM). But rte_eth_dev_count() seems to return 0.. From the > > website looks like it's a supported NIC . My lspci and pci_ubind status > is > > below. Any pointers? > > > > # ./tools/pci_unbind.py --status > > > > Network devices using IGB_UIO driver > > > > :02:06.0 '82545EM Gigabit Ethernet Controller (Copper)' drv=igb_uio > > unused=e1000 > > > > Network devices using kernel driver > > === > > :02:01.0 '79c970 [PCnet32 LANCE]' if=eth1 drv=pcnet32 unused= > *Active* > > > > Other network devices > > = > > > > > > > > # lspci -vt > > -[:00]-+-00.0 Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host > > bridge > >+-01.0-[01]-- > >+-07.0 Intel Corporation 82371AB/EB/MB PIIX4 ISA > >+-07.1 Intel Corporation 82371AB/EB/MB PIIX4 IDE > >+-07.3 Intel Corporation 82371AB/EB/MB PIIX4 ACPI > >+-07.7 VMware Virtual Machine Communication Interface > >+-0f.0 VMware SVGA II Adapter > >+-10.0 LSI Logic / Symbios Logic 53c1030 PCI-X Fusion-MPT > Dual > > Ultra320 SCSI > >+-11.0-[02]--+-00.0 VMware USB1.1 UHCI Controller > >|+-01.0 Advanced Micro Devices [AMD] 79c970 > > [PCnet32 LANCE] > >|+-02.0 Ensoniq ES1371 [AudioPCI-97] > >|+-03.0 VMware USB2 EHCI Controller > >|+-05.0 VMware Device 07e0 > >|\-06.0 Intel Corporation 82545EM Gigabit > Ethernet > > Controller (Copper) > >+-15.0-[03]-- > >+-15.1-[04]-- > >+-15.2-[05]-- > >+-15.3-[06]-- > >+-15.4-[07]-- > >+-15.5-[08]-- > >+-15.6-[09]-- > >+-15.7-[0a]-- > >+-16.0-[0b]-- > >+-16.1-[0c]-- > >+-16.2-[0d]-- > >+-16.3-[0e]-- > >+-16.4-[0f]-- > >+-16.5-[10]-- > >+-16.6-[11]-- > >+-16.7-[12]-- > >+-17.0-[13]-- > >+-17.1-[14]-- > >+-17.2-[15]-- > >+-17.3-[16]-- > >+-17.4-[17]-- > >+-17.5-[18]-- > >+-17.6-[19]-- > >+-17.7-[1a]-- > >+-18.0-[1b]-- > >+-18.1-[1c]-- > >+-18.2-[1d]-- > >+-18.3-[1e]-- > >+-18.4-[1f]-- > >+-18.5-[20]-- > >+-18.6-[21]-- > >\-18.7-[22]-- > > > > > > Regards > > Jyotiswarup > > > > > > On Tue, Nov 5, 2013 at 9:34 PM, Cyril Cressent > >wrote: > > > > > On Tue, Nov 05, 2013 at 08:01:06PM +0530, Jyotiswarup Raiturkar wrote: > > > > > > > Thanks for the quick reply. I saw some definitions of e1000_phy_82579 > > > hence > > > > I thought (hoped) the NIC would be supported. I will try to run my > dpdk > > > app > > > > inside a VM with an emulated e1000 NIC (just to test the code ..). > > > > > > As a general rule, even if you find references to a NIC in the poll > mode > > > drivers, if it's not listed in > > > lib/librte_eal/common/include/rte_pci_dev_ids.h > > > then consider the NIC as not supported. > > > > > > Good luck with the VM, > > > > > > Cyril > > > > > >
[dpdk-dev] pci_unbind.py failure
Hi all, I have faced with similar problem on my real environment with 82599 nic. Looks like in some cases rte_eth_dev_count() return 0 instead of real number of igb_uio binded ports. After restarting app several times rte_eth_dev_count() return real number of ports and continue execute normaly. 2013/11/13 Daniel Kaminsky > Hi Jyotiswarup, > > Did you initialized all the relevant parts before > (rte_eal_init(), rte_pmd_init_all() and don't forget rte_eal_pci_probe())? > > Regards, > Daniel > > > On Wed, Nov 13, 2013 at 1:27 PM, Jose Gavine Cueto >wrote: > > > Hi, > > > > How are you using it? I've successfully used it with vbox. > > > > Cheers > > On Nov 13, 2013 7:17 PM, "Jyotiswarup Raiturkar" < > jyotisr5 at googlemail.com> > > wrote: > > > > > hi > > > > > > I got my application running inside a vm (vmplayer) where the VM > > emulates a > > > e1000 NIC (82545EM). But rte_eth_dev_count() seems to return 0.. From > the > > > website looks like it's a supported NIC . My lspci and pci_ubind status > > is > > > below. Any pointers? > > > > > > # ./tools/pci_unbind.py --status > > > > > > Network devices using IGB_UIO driver > > > > > > :02:06.0 '82545EM Gigabit Ethernet Controller (Copper)' drv=igb_uio > > > unused=e1000 > > > > > > Network devices using kernel driver > > > === > > > :02:01.0 '79c970 [PCnet32 LANCE]' if=eth1 drv=pcnet32 unused= > > *Active* > > > > > > Other network devices > > > = > > > > > > > > > > > > # lspci -vt > > > -[:00]-+-00.0 Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host > > > bridge > > >+-01.0-[01]-- > > >+-07.0 Intel Corporation 82371AB/EB/MB PIIX4 ISA > > >+-07.1 Intel Corporation 82371AB/EB/MB PIIX4 IDE > > >+-07.3 Intel Corporation 82371AB/EB/MB PIIX4 ACPI > > >+-07.7 VMware Virtual Machine Communication Interface > > >+-0f.0 VMware SVGA II Adapter > > >+-10.0 LSI Logic / Symbios Logic 53c1030 PCI-X Fusion-MPT > > Dual > > > Ultra320 SCSI > > >+-11.0-[02]--+-00.0 VMware USB1.1 UHCI Controller > > >|+-01.0 Advanced Micro Devices [AMD] 79c970 > > > [PCnet32 LANCE] > > >|+-02.0 Ensoniq ES1371 [AudioPCI-97] > > >|+-03.0 VMware USB2 EHCI Controller > > >|+-05.0 VMware Device 07e0 > > >|\-06.0 Intel Corporation 82545EM Gigabit > > Ethernet > > > Controller (Copper) > > >+-15.0-[03]-- > > >+-15.1-[04]-- > > >+-15.2-[05]-- > > >+-15.3-[06]-- > > >+-15.4-[07]-- > > >+-15.5-[08]-- > > >+-15.6-[09]-- > > >+-15.7-[0a]-- > > >+-16.0-[0b]-- > > >+-16.1-[0c]-- > > >+-16.2-[0d]-- > > >+-16.3-[0e]-- > > >+-16.4-[0f]-- > > >+-16.5-[10]-- > > >+-16.6-[11]-- > > >+-16.7-[12]-- > > >+-17.0-[13]-- > > >+-17.1-[14]-- > > >+-17.2-[15]-- > > >+-17.3-[16]-- > > >+-17.4-[17]-- > > >+-17.5-[18]-- > > >+-17.6-[19]-- > > >+-17.7-[1a]-- > > >+-18.0-[1b]-- > > >+-18.1-[1c]-- > > >+-18.2-[1d]-- > > >+-18.3-[1e]-- > > >+-18.4-[1f]-- > > >+-18.5-[20]-- > > >+-18.6-[21]-- > > >\-18.7-[22]-- > > > > > > > > > Regards > > > Jyotiswarup > > > > > > > > > On Tue, Nov 5, 2013 at 9:34 PM, Cyril Cressent < > cyril.cressent at intel.com > > > >wrote: > > > > > > > On Tue, Nov 05, 2013 at 08:01:06PM +0530, Jyotiswarup Raiturkar > wrote: > > > > > > > > > Thanks for the quick reply. I saw some definitions of > e1000_phy_82579 > > > > hence > > > > > I thought (hoped) the NIC would be supported. I will try to run my > > dpdk > > > > app > > > > > inside a VM with an emulated e1000 NIC (just to test the code ..). > > > > > > > > As a general rule, even if you find references to a NIC in the poll > > mode > > > > drivers, if it's not listed in > > > > lib/librte_eal/common/include/rte_pci_dev_ids.h > > > > then consider the NIC as not supported. > > > > > > > > Good luck with the VM, > > > > > > > > Cyril > > > > > > > > > >
[dpdk-dev] pci_unbind.py failure
Hi all Hi I'm using vmware player , i've using ethernet1.virtualDev = "e1000" Yes I do rte_eal_init() and then rte_eal_pci_probe(). I'm not using rte_pmd_init_all() ; not sure what it does.. Also FYI i'm using DPDK 1.4.1r0 I've finally got real hardware too, will try on the same and update the thread.. Regards Jyoti On Wed, Nov 13, 2013 at 8:27 PM, Vladimir Medvedkin wrote: > Hi all, > > I have faced with similar problem on my real environment with 82599 nic. > Looks like in some cases rte_eth_dev_count() return 0 instead of real > number of igb_uio binded ports. After restarting app several times > rte_eth_dev_count() return real number of ports and continue execute > normaly. > > > 2013/11/13 Daniel Kaminsky > > > Hi Jyotiswarup, > > > > Did you initialized all the relevant parts before > > (rte_eal_init(), rte_pmd_init_all() and don't forget > rte_eal_pci_probe())? > > > > Regards, > > Daniel > > > > > > On Wed, Nov 13, 2013 at 1:27 PM, Jose Gavine Cueto > >wrote: > > > > > Hi, > > > > > > How are you using it? I've successfully used it with vbox. > > > > > > Cheers > > > On Nov 13, 2013 7:17 PM, "Jyotiswarup Raiturkar" < > > jyotisr5 at googlemail.com> > > > wrote: > > > > > > > hi > > > > > > > > I got my application running inside a vm (vmplayer) where the VM > > > emulates a > > > > e1000 NIC (82545EM). But rte_eth_dev_count() seems to return 0.. From > > the > > > > website looks like it's a supported NIC . My lspci and pci_ubind > status > > > is > > > > below. Any pointers? > > > > > > > > # ./tools/pci_unbind.py --status > > > > > > > > Network devices using IGB_UIO driver > > > > > > > > :02:06.0 '82545EM Gigabit Ethernet Controller (Copper)' > drv=igb_uio > > > > unused=e1000 > > > > > > > > Network devices using kernel driver > > > > === > > > > :02:01.0 '79c970 [PCnet32 LANCE]' if=eth1 drv=pcnet32 unused= > > > *Active* > > > > > > > > Other network devices > > > > = > > > > > > > > > > > > > > > > # lspci -vt > > > > -[:00]-+-00.0 Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host > > > > bridge > > > >+-01.0-[01]-- > > > >+-07.0 Intel Corporation 82371AB/EB/MB PIIX4 ISA > > > >+-07.1 Intel Corporation 82371AB/EB/MB PIIX4 IDE > > > >+-07.3 Intel Corporation 82371AB/EB/MB PIIX4 ACPI > > > >+-07.7 VMware Virtual Machine Communication Interface > > > >+-0f.0 VMware SVGA II Adapter > > > >+-10.0 LSI Logic / Symbios Logic 53c1030 PCI-X Fusion-MPT > > > Dual > > > > Ultra320 SCSI > > > >+-11.0-[02]--+-00.0 VMware USB1.1 UHCI Controller > > > >|+-01.0 Advanced Micro Devices [AMD] 79c970 > > > > [PCnet32 LANCE] > > > >|+-02.0 Ensoniq ES1371 [AudioPCI-97] > > > >|+-03.0 VMware USB2 EHCI Controller > > > >|+-05.0 VMware Device 07e0 > > > >|\-06.0 Intel Corporation 82545EM Gigabit > > > Ethernet > > > > Controller (Copper) > > > >+-15.0-[03]-- > > > >+-15.1-[04]-- > > > >+-15.2-[05]-- > > > >+-15.3-[06]-- > > > >+-15.4-[07]-- > > > >+-15.5-[08]-- > > > >+-15.6-[09]-- > > > >+-15.7-[0a]-- > > > >+-16.0-[0b]-- > > > >+-16.1-[0c]-- > > > >+-16.2-[0d]-- > > > >+-16.3-[0e]-- > > > >+-16.4-[0f]-- > > > >+-16.5-[10]-- > > > >+-16.6-[11]-- > > > >+-16.7-[12]-- > > > >+-17.0-[13]-- > > > >+-17.1-[14]-- > > > >+-17.2-[15]-- > > > >+-17.3-[16]-- > > > >+-17.4-[17]-- > > > >+-17.5-[18]-- > > > >+-17.6-[19]-- > > > >+-17.7-[1a]-- > > > >+-18.0-[1b]-- > > > >+-18.1-[1c]-- > > > >+-18.2-[1d]-- > > > >+-18.3-[1e]-- > > > >+-18.4-[1f]-- > > > >+-18.5-[20]-- > > > >+-18.6-[21]-- > > > >\-18.7-[22]-- > > > > > > > > > > > > Regards > > > > Jyotiswarup > > > > > > > > > > > > On Tue, Nov 5, 2013 at 9:34 PM, Cyril Cressent < > > cyril.cressent at intel.com > > > > >wrote: > > > > > > > > > On Tue, Nov 05, 2013 at 08:01:06PM +0530, Jyotiswarup Raiturkar > > wrote: > > > > > > > > > > > Thanks for the quick reply. I saw some definitions of > > e1000_phy_82579 > > > > > hence > > > > > > I thought (hoped) the NIC would be supported. I will try to run > my > > > dpdk > > > > > app > > > > > > inside a VM with an emulated e1000 NIC (just to test the code > ..). > > > > > > > > > > As a general rule, even if you find references to a NIC in the poll > > > mode > > > > > drivers, if it's not listed in > > > > > lib/librte_eal/common/include/rte_pci_dev_ids.h > > > > > then consider the NIC as not supported. > > > > >