[dpdk-dev] [PATCH v1] dpdk-devbind.py: Virtio interface issue.
I will get a proper patch sent hopefully today. Gary -Original Message- From: Mcnamara, John [mailto:john.mcnam...@intel.com] Sent: Thursday, September 01, 2016 7:00 AM To: Mussar, Gary; Dey, Souvik; Stephen Hemminger Cc: nhorman at tuxdriver.com; dev at dpdk.org Subject: RE: [dpdk-dev] [PATCH v1] dpdk-devbind.py: Virtio interface issue. > -Original Message- > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Mussar, Gary > Sent: Monday, August 29, 2016 4:10 PM > To: Dey, Souvik ; Stephen Hemminger > > Cc: nhorman at tuxdriver.com; dev at dpdk.org > Subject: Re: [dpdk-dev] [PATCH v1] dpdk-devbind.py: Virtio interface > issue. > > We did this slightly differently. This is 100% python and is a bit > more general. We search for the first "net" directory under the > specific device directory. > > --- > --- tools/dpdk-devbind.py 2016-08-29 11:02:35.594202888 -0400 > +++ ../dpdk/tools/dpdk-devbind.py 2016-08-29 11:00:34.897677233 -0400 > @@ -221,11 +221,11 @@ > name = name.strip(":") + "_str" > device[name] = value > # check for a unix interface name > -sys_path = "/sys/bus/pci/devices/%s/net/" % dev_id > -if exists(sys_path): > -device["Interface"] = ",".join(os.listdir(sys_path)) > -else: > -device["Interface"] = "" > +device["Interface"] = "" > +for base, dirs, files in os.walk("/sys/bus/pci/devices/%s/" % > dev_id): > +if "net" in dirs: > +device["Interface"] = > ",".join(os.listdir(os.path.join(base,"net"))) > +break > # check if a port is used for ssh connection > device["Ssh_if"] = False > device["Active"] = "" > --- Hi Gary, That looks like a cleaner solution. Could you submit that as a patch. Souvik, could you test this patch and confirm it fixes your issue. Gary, if you submit a patch could you make a few minor changes: > +device["Interface"] = "" > +for base, dirs, files in os.walk("/sys/bus/pci/devices/%s/" % dev_id): > + If "files" is unused, and it looks like it is, then replace it with "_". > +device["Interface"] = > + ",".join(os.listdir(os.path.join(base,"net"))) There is a space required after "," for PEP8 compliance. John
[dpdk-dev] [PKTGEN] rte_kni.ko with lo_mode=lo_mode_ring
The pktgen docs state that the rte_kni.ko should be loaded with lo_mode=lo_mode_ring however the source in dpdk master does not appear to understand this value. This wasn't an issue in the past since the kni code would simply disable lo_mode if you passed in an unknown value. The Ubuntu 4.4.0-36-generic kernel no longer loads the module if the passed value is not in the table of known values (the 4.4.0-34-generic kernel would still load the module). I have 2 questions: 1) Why does pktgen specify using a value for lo_mode that the source does not support? Is lo_mode_ring something that is coming but not yet submitted? 2) Is the Ubuntu kernel being over aggressive in parameter checking or is this a "good" thing? If it is good, then should the pktgen docs be indicating that an unsupported value be used for lo_mode? Gary
[dpdk-dev] rte_kni.ko with lo_mode=lo_mode_ring
> -Original Message- > From: Ferruh Yigit [mailto:ferruh.yigit at intel.com] > Sent: Friday, September 02, 2016 10:55 AM > To: Wiles, Keith; Mussar, Gary > Cc: dev at dpdk.org > Subject: Re: [dpdk-dev] rte_kni.ko with lo_mode=lo_mode_ring > > On 9/2/2016 3:16 PM, Wiles, Keith wrote: > > HI Gary, > > > > Regards, > > Keith > > > >> On Sep 2, 2016, at 8:39 AM, Mussar, Gary wrote: > >> > >> The pktgen docs state that the rte_kni.ko should be loaded with > lo_mode=lo_mode_ring however the source in dpdk master does not appear to > understand this value. This wasn't an issue in the past since the kni code > would > simply disable lo_mode if you passed in an unknown value. > >> > >> The Ubuntu 4.4.0-36-generic kernel no longer loads the module if the passed > value is not in the table of known values (the 4.4.0-34-generic kernel would > still > load the module). > >> > >> I have 2 questions: > >> 1) > >> Why does pktgen specify using a value for lo_mode that the source does not > support? Is lo_mode_ring something that is coming but not yet submitted? > > > > The KNI support and kernel module is more of a DPDK issue then Pktgen, which > is the application on top of DPDK. I do not know the reason lo_mode_ring is > not > working correctly. Look in the Maintainers file and see who maintains the KNI > code. > > "lo_mode_ring" is not supported loopback mode, supported ones are: > lo_mode_none > lo_mode_fifo > lo_mode_fifo_skb > > Please point the document with incorrect usage. The files with the incorrect usage are: pktgen-dpdk/README.md pktgen-dpdk/setup.sh > > > > >> > >> 2) > >> Is the Ubuntu kernel being over aggressive in parameter checking or is > >> this a > "good" thing? If it is good, then should the pktgen docs be indicating that an > unsupported value be used for lo_mode? > > > > I assume the Ubuntu Kernel is attempting to protect itself. Each time the > kernel is updated it is a good think to recompile DPDK and the KNI kernel > module > or the module may not load because of a version mis-match. > > Yes this looks like the issue, > instead of kernel version or parameter protection, kernel-module version > mismatch. Please re-compile kni module. Recompiling the kni module makes it happier. Thanks. > > > > >> > >> Gary > > >
[dpdk-dev] [PATCH] Tools: Fix issue with virtio interface names
I am new at submitting patches to dpdk.org. This patch has been acked and patchwork claims success on build it: http://www.dpdk.org/dev/patchwork/patch/15595/ Other users state it has corrected their problems. Am I supposed to be doing something else with it before it gets applied to master? Gary > -Original Message- > From: Mcnamara, John [mailto:john.mcnamara at intel.com] > Sent: Friday, September 02, 2016 11:24 AM > To: Mussar, Gary; dev at dpdk.org > Subject: RE: [dpdk-dev] [PATCH] Tools: Fix issue with virtio interface names > > > > > -Original Message- > > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Gary Mussar > > Sent: Friday, September 2, 2016 2:17 PM > > To: dev at dpdk.org > > Cc: Gary Mussar > > Subject: [dpdk-dev] [PATCH] Tools: Fix issue with virtio interface > > names > > > > The dpdk-devbind.py script does not find/display the ifname for virtio > > interfaces since the "net" directory is not directly under the device > > directory but rather under a subdirectory. > > eg. > > > dpdk-devbind.py --status > > :00:03.0 'Virtio network device' if= drv=virtio-pci unused= > > > > This change searches for the first "net" directory under the device > > directory hierarchy. > > eg. > > :00:03.0 'Virtio network device' if=ens3 drv=virtio-pci unused= > > > > Fixes: 629395b063e8 ("igb_uio: remove PCI id table") > > > > Signed-off-by: Gary Mussar > > Thanks for that. > > Note, the subject line should be lowercase but apart from that: > > Acked-by: John McNamara > >
[dpdk-dev] [Dpdk-ovs] problem in binding interfaces of virtio-pci on the VM
This may be a long shot, but I have noticed that using dissimilar device types when launching the VM that these devices might not be bound to the same eth devices in the VM. Are you sure that esn3 is the device you are expecting to use to talk to the host? Gary -Original Message- From: Dpdk-ovs [mailto:dpdk-ovs-boun...@lists.01.org] On Behalf Of Srinivasreddy R Sent: Friday, February 27, 2015 06:00 To: Bruce Richardson Cc: dev at dpdk.org; dpdk-ovs at lists.01.org Subject: Re: [Dpdk-ovs] [dpdk-dev] problem in binding interfaces of virtio-pci on the VM hi , please fine the oputput On the VM . /tools/dpdk_nic_bind.py --status Network devices using DPDK-compatible driver == == Network devices using kernel driver === :00:03.0 '82540EM Gigabit Ethernet Controller' if=ens3 drv=e1000 unused=igb_uio *Active* :00:04.0 'Virtio network device' if= drv=virtio-pci unused=igb_uio :00:05.0 'Virtio network device' if= drv=virtio-pci unused=igb_uio Other network devices = i am trying to bind "virtio network devices " with pci 00:04.0 , 00:05.0 . . when i give the below command i face the issue. ./dpdk_nic_bind.py --bind=igb_uio 00:04.0 00:05.0 when qemu does not able to allocate memory for vm on /dev/hugepages . it gives the below error message . "Cannot allocate memory " In this case i am able to bind the interfaces to igb_uio . does this gives any hint on what wrong i am doing . do i need to handle any thing on the host when i bind to igb_uio on the guest for usvhost . ./x86_64-softmmu/qemu-system-x86_64 -cpu host -boot c -hda /home/utils/images/vm1.img -m 4096M -smp 3 --enable-kvm -name 'VM1' -nographic -vnc :1 -pidfile /tmp/vm1.pid -drive file=fat:rw:/tmp/qemu_share,snapshot=off -monitor unix:/tmp/vm1monitor,server,nowait -net none -no-reboot -mem-path /dev/hugepages -mem-prealloc -netdev type=tap,id=net1,script=no,downscript=no,ifname=usvhost1,vhost=on -device virtio-net-pci,netdev=net1,mac=00:16:3e:00:03:03,csum=off,gso=off,guest_tso4=off,guest_tso6=off,guest_ecn=off -netdev type=tap,id=net2,script=no,downscript=no,ifname=usvhost2,vhost=on -device virtio-net-pci,netdev=net2,mac=00:16:3e:00:03:04,csum=off,gso=off,guest_tso4=off,guest_tso6=off,guest_ecn=off -net nic -net tap,ifname=tap6,script=no vvfat /tmp/qemu_share chs 1024,16,63 file_ram_alloc: can't mmap RAM pages: Cannot allocate memory qemu-system-x86_64: unable to start vhost net: 22: falling back on userspace virtio qemu-system-x86_64: unable to start vhost net: 22: falling back on userspace virtio thanks, srinivas. On Fri, Feb 27, 2015 at 3:36 PM, Bruce Richardson < bruce.richardson at intel.com> wrote: > On Thu, Feb 26, 2015 at 10:46:58PM +0530, Srinivasreddy R wrote: > > hi Bruce , > > Thank you for your response . > > I am accessing my VM via " vncviewer " . so ssh doesn't come into > picture . > > Is there any way to find the root cause of my problem . does dpdk > > stores any logs while binding interfaces to igb_uio. > > i have seen my /var/log/messages . but could not find any clue. > > > > the movement i gave the below command my vm got struck and not > > responding untill i forcefully kill the qemu and relaunch . > > ./dpdk_nic_bind.py --bind=igb_uio 00:04.0 00:05.0 > > > > Does VNC not also connect using a network port? What is the output of > ./dpdk_nic_bind.py --status before you run this command? > > /Bruce > > > > > > > thanks, > > srinivas. > > > > > > > > On Thu, Feb 26, 2015 at 10:30 PM, Bruce Richardson < > > bruce.richardson at intel.com> wrote: > > > > > On Thu, Feb 26, 2015 at 10:08:59PM +0530, Srinivasreddy R wrote: > > > > hi Mike, > > > > Thanks for our detailed explanation of your example . usually i > > > > do > > > similar > > > > to u and i am aware of working with dpdk applications . > > > > my problem is : > > > > 1. i have written a code for host to guest communication > > > > .[taken > form > > > > usvhost which is developed in ovdk vswitch] . > > > > 2. i launched VM with two interfaces . > > > > 3. i am able to send and receive traffic to and from guest to > > > > host on > > > these > > > > interfaces . > > > > 4. when i try to bind these interfaces to igb_uio to run dpdk > > > application > > > > . i am not able to access my instance . it got struck and not > responding > > > . > > > > i need to hard reboot the vm. > > > > > > Are you sure you are not trying to access the vm via one of the > interfaces > > > now bount to igb_uio? If you bind the interface you use for ssh to > igb_uio, > > > you won't be able to ssh to that vm any more. > > > > > > /Bruce > > > > > > > > > > > My Question is : > > > > surely i might done something wrong in code . as my VM is not > > > > able to access any more when i try to bind interfaces to igb_uio > > > > . not able > to > > > > debug the issue . > > > > someone please help me in figuring the issue . i don
[dpdk-dev] Status of bnx2x pmd?
I have been attempting to build testpmd with the bnx2x pmd enabled to try and talk through a bcm57810 10G NIC card. I have tried using SR-IOV VFs and I have tried using the PFs. Neither seem to be able to be properly initialized in testpmd and/or testpmd aborts. Is this PMD actually usable or is it trash? Gary
[dpdk-dev] Status of bnx2x pmd?
> -Original Message- > From: Harish Patil [mailto:harish.patil at qlogic.com] > Sent: Monday, November 02, 2015 01:51 > To: Mussar, Gary; dev at dpdk.org > Subject: Re: [dpdk-dev] Status of bnx2x pmd? > > > > >I have been attempting to build testpmd with the bnx2x pmd enabled to try > >and talk through a bcm57810 10G NIC card. I have tried using SR-IOV VFs > >and I have tried using the PFs. Neither seem to be able to be properly > >initialized in testpmd and/or testpmd aborts. > > > >Is this PMD actually usable or is it trash? > > > >Gary > > > > Could you please explain the SR-IOV configuration that you are trying out? > Please provide all the details. > > Thanks, I ultimately want to run dpdk in a VM with PCI pass through on SR-IOV ports. I have had no luck there so I thought I would start with DPDK on bare metal using the PFs. I am using Ubuntu 14.04.3 with the Ubuntu 3.19.0-31 kernel and dpdk from the dpdk.org master branch (d739ba4c6abf00eeeb680ab4e9540899182ea74d). # ./tools/dpdk_nic_bind.py --status Network devices using DPDK-compatible driver :04:00.0 'NetXtreme II BCM57810 10 Gigabit Ethernet' drv=igb_uio unused= :04:00.1 'NetXtreme II BCM57810 10 Gigabit Ethernet' drv=igb_uio unused= Network devices using kernel driver === :05:00.0 'I350 Gigabit Network Connection' if=eth0 drv=igb unused=igb_uio *Active* :05:00.1 'I350 Gigabit Network Connection' if=eth1 drv=igb unused=igb_uio Other network devices = Running testpmd: ./app/testpmd -c 7 -n 4 --socket-mem 900 -- -i --burst=64 --txqflags=0xf00 --nb-cores=2 --nb-ports=2 --portmask=0x3 EAL: Detected lcore 0 as core 0 on socket 0 EAL: Detected lcore 1 as core 1 on socket 0 EAL: Detected lcore 2 as core 2 on socket 0 EAL: Detected lcore 3 as core 3 on socket 0 EAL: Detected lcore 4 as core 4 on socket 0 EAL: Detected lcore 5 as core 5 on socket 0 EAL: Detected lcore 6 as core 6 on socket 0 EAL: Detected lcore 7 as core 7 on socket 0 EAL: Detected lcore 8 as core 0 on socket 0 EAL: Detected lcore 9 as core 1 on socket 0 EAL: Detected lcore 10 as core 2 on socket 0 EAL: Detected lcore 11 as core 3 on socket 0 EAL: Detected lcore 12 as core 4 on socket 0 EAL: Detected lcore 13 as core 5 on socket 0 EAL: Detected lcore 14 as core 6 on socket 0 EAL: Detected lcore 15 as core 7 on socket 0 EAL: Support maximum 128 logical core(s) by configuration. EAL: Detected 16 lcore(s) EAL: VFIO modules not all loaded, skip VFIO support... EAL: Setting up physically contiguous memory... EAL: Ask a virtual area of 0x20 bytes EAL: Virtual area found at 0x7420 (size = 0x20) EAL: Ask a virtual area of 0x14a0 bytes EAL: Virtual area found at 0x7fffdf60 (size = 0x14a0) EAL: Ask a virtual area of 0x5680 bytes EAL: Virtual area found at 0x7fff88c0 (size = 0x5680) EAL: Ask a virtual area of 0x400 bytes EAL: Virtual area found at 0x7fff84a0 (size = 0x400) EAL: Ask a virtual area of 0x5420 bytes EAL: Virtual area found at 0x7fff3060 (size = 0x5420) EAL: Ask a virtual area of 0x14c0 bytes EAL: Virtual area found at 0x7fff1b80 (size = 0x14c0) EAL: Ask a virtual area of 0x12540 bytes EAL: Virtual area found at 0x7ffdf620 (size = 0x12540) EAL: Ask a virtual area of 0x1b00 bytes EAL: Virtual area found at 0x7ffddb00 (size = 0x1b00) EAL: Ask a virtual area of 0x1860 bytes EAL: Virtual area found at 0x7ffdc280 (size = 0x1860) EAL: Ask a virtual area of 0xf860 bytes EAL: Virtual area found at 0x7ffcca00 (size = 0xf860) EAL: Ask a virtual area of 0x3940 bytes EAL: Virtual area found at 0x7ffc90a0 (size = 0x3940) EAL: Ask a virtual area of 0x1fc0 bytes EAL: Virtual area found at 0x7ffc70c0 (size = 0x1fc0) EAL: Ask a virtual area of 0x74c0 bytes EAL: Virtual area found at 0x7ffbfbe0 (size = 0x74c0) EAL: Ask a virtual area of 0x900 bytes EAL: Virtual area found at 0x7ffbf2c0 (size = 0x900) EAL: Ask a virtual area of 0x20 bytes EAL: Virtual area found at 0x7ffbf280 (size = 0x20) EAL: Requesting 450 pages of size 2MB from socket 0 EAL: TSC frequency is ~1995380 KHz EAL: Master lcore 0 is ready (tid=f7fe4940;cpuset=[0]) PMD: rte_bnx2x_pmd_init(): >> PMD: rte_bnx2xvf_pmd_init(): >> EAL: lcore 2 is ready (tid=f5ec9700;cpuset=[2]) EAL: lcore 1 is ready (tid=f66ca700;cpuset=[1]) EAL: PCI device :04:00.0 on NUMA socket 0 EAL: probe driver: 14e4:168e rte_bnx2x_pmd EAL: PCI memory mapped at 0x7440 EAL: PCI memory mapped at 0x74c0 EAL: PCI memory mapped at 0x7540 PMD: eth_bnx2x_dev_init(): >> PMD: bnx2x_common_dev_init(): >> PMD: bnx2x_probe_pci_caps(): >> PMD: bnx2x_get_shmem_info():
[dpdk-dev] [PATCH v1] dpdk-devbind.py: Virtio interface issue.
We did this slightly differently. This is 100% python and is a bit more general. We search for the first "net" directory under the specific device directory. --- --- tools/dpdk-devbind.py 2016-08-29 11:02:35.594202888 -0400 +++ ../dpdk/tools/dpdk-devbind.py 2016-08-29 11:00:34.897677233 -0400 @@ -221,11 +221,11 @@ name = name.strip(":") + "_str" device[name] = value # check for a unix interface name -sys_path = "/sys/bus/pci/devices/%s/net/" % dev_id -if exists(sys_path): -device["Interface"] = ",".join(os.listdir(sys_path)) -else: -device["Interface"] = "" +device["Interface"] = "" +for base, dirs, files in os.walk("/sys/bus/pci/devices/%s/" % dev_id): +if "net" in dirs: +device["Interface"] = ",".join(os.listdir(os.path.join(base,"net"))) +break # check if a port is used for ssh connection device["Ssh_if"] = False device["Active"] = "" --- Gary -Original Message- From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Dey, Souvik Sent: Friday, August 26, 2016 8:21 PM To: Stephen Hemminger Cc: nhorman at tuxdriver.com; dev at dpdk.org Subject: Re: [dpdk-dev] [PATCH v1] dpdk-devbind.py: Virtio interface issue. Hi , I have already updated it and have re submitted the patch v3. Can you please check that http://dpdk.org/dev/patchwork/patch/15378/ -- Regards, Souvik -Original Message- From: Stephen Hemminger [mailto:step...@networkplumber.org] Sent: Friday, August 26, 2016 11:55 AM To: Dey, Souvik Cc: nhorman at tuxdriver.com; dev at dpdk.org Subject: Re: [dpdk-dev] [PATCH v1] dpdk-devbind.py: Virtio interface issue. On Wed, 24 Aug 2016 22:25:46 -0400 souvikdey33 wrote: > +#The path for virtio devices are different. Get the correct path. > + virtio = "/sys/bus/pci/devices/%s/" % dev_id > +cmd = " ls %s | grep 'virt' " %virtio > +virtio = commands.getoutput(cmd) > +virtio_sys_path = "/sys/bus/pci/devices/%s/%s/net/" % > +(dev_id,virtio) > if exists(sys_path): > device["Interface"] = ",".join(os.listdir(sys_path)) There should be a way to do this in python without going out to shell. This would be safer and more secure. The code already uses os.listdir() (which is the python library version of ls) in later section. Why not use that here to check for virtio bus.
[dpdk-dev] [PATCH v1] dpdk-devbind.py: Virtio interface issue.
-Original Message- From: Dey, Souvik [mailto:so...@sonusnet.com] Sent: Monday, August 29, 2016 7:17 PM To: Mussar, Gary; Stephen Hemminger Cc: nhorman at tuxdriver.com; dev at dpdk.org Subject: RE: [dpdk-dev] [PATCH v1] dpdk-devbind.py: Virtio interface issue. Hi, I already followed the 100% python way and submitted the v3 of this patch. http://dpdk.org/dev/patchwork/patch/15378/ How will your patch be different in solving the issue. There will always be multiple ways to solving things right. GM> When I first tackled this problem I used Popen() and got the exact same feedback about using 100% python. The version I posted yesterday satisfied the internal reviewers. V3 of my submitted patch: diff --git a/tools/dpdk-devbind.py b/tools/dpdk-devbind.py index b69ca2a..c0b46ee 100755 --- a/tools/dpdk-devbind.py +++ b/tools/dpdk-devbind.py @@ -36,6 +36,7 @@ import sys import os import getopt import subprocess + from os.path import exists, abspath, dirname, basename # The PCI base class for NETWORK devices @@ -222,8 +223,19 @@ def get_pci_device_details(dev_id): device[name] = value # check for a unix interface name sys_path = "/sys/bus/pci/devices/%s/net/" % dev_id +# the path for virtio devices are different, so get the correct path +virtio = "/sys/bus/pci/devices/%s/" % dev_id +ls = subprocess.Popen(['ls', virtio], stdout=subprocess.PIPE) +grep = subprocess.Popen('grep virt'.split(), stdin=ls.stdout, +stdout=subprocess.PIPE) +ls.stdout.close() +virtio = grep.communicate()[0].rstrip() +ls.wait() +virtio_sys_path = "/sys/bus/pci/devices/%s/%s/net/" % (dev_id, + virtio) if exists(sys_path): device["Interface"] = ",".join(os.listdir(sys_path)) +elif exists(virtio_sys_path): +device["Interface"] = ",".join(os.listdir(virtio_sys_path)) else: device["Interface"] = "" # check if a port is used for ssh connection -Original Message- From: Mussar, Gary [mailto:gmus...@ciena.com] Sent: Monday, August 29, 2016 11:10 AM To: Dey, Souvik ; Stephen Hemminger Cc: nhorman at tuxdriver.com; dev at dpdk.org Subject: RE: [dpdk-dev] [PATCH v1] dpdk-devbind.py: Virtio interface issue. We did this slightly differently. This is 100% python and is a bit more general. We search for the first "net" directory under the specific device directory. --- --- tools/dpdk-devbind.py 2016-08-29 11:02:35.594202888 -0400 +++ ../dpdk/tools/dpdk-devbind.py 2016-08-29 11:00:34.897677233 -0400 @@ -221,11 +221,11 @@ name = name.strip(":") + "_str" device[name] = value # check for a unix interface name -sys_path = "/sys/bus/pci/devices/%s/net/" % dev_id -if exists(sys_path): -device["Interface"] = ",".join(os.listdir(sys_path)) -else: -device["Interface"] = "" +device["Interface"] = "" +for base, dirs, files in os.walk("/sys/bus/pci/devices/%s/" % dev_id): +if "net" in dirs: +device["Interface"] = ",".join(os.listdir(os.path.join(base,"net"))) +break # check if a port is used for ssh connection device["Ssh_if"] = False device["Active"] = "" --- Gary -Original Message- From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Dey, Souvik Sent: Friday, August 26, 2016 8:21 PM To: Stephen Hemminger Cc: nhorman at tuxdriver.com; dev at dpdk.org Subject: Re: [dpdk-dev] [PATCH v1] dpdk-devbind.py: Virtio interface issue. Hi , I have already updated it and have re submitted the patch v3. Can you please check that http://dpdk.org/dev/patchwork/patch/15378/ -- Regards, Souvik -Original Message- From: Stephen Hemminger [mailto:step...@networkplumber.org] Sent: Friday, August 26, 2016 11:55 AM To: Dey, Souvik Cc: nhorman at tuxdriver.com; dev at dpdk.org Subject: Re: [dpdk-dev] [PATCH v1] dpdk-devbind.py: Virtio interface issue. On Wed, 24 Aug 2016 22:25:46 -0400 souvikdey33 wrote: > +#The path for virtio devices are different. Get the correct path. > + virtio = "/sys/bus/pci/devices/%s/" % dev_id > +cmd = " ls %s | grep 'virt' " %virtio > +virtio = commands.getoutput(cmd) > +virtio_sys_path = "/sys/bus/pci/devices/%s/%s/net/" % > +(dev_id,virtio) > if exists(sys_path): > device["Interface"] = ",".join(os.listdir(sys_path)) There should be a way to do this in python without going out to shell. This would be safer and more secure. The code already uses os.listdir() (which is the python library version of ls) in later section. Why not use that here to check for virtio bus.