This change is required to have the interface name for virtio interfaces. When we execute the status command the for virtio inerfaces we get Sample output without the change: 0000:00:04.0 'Virtio network device' if= drv=virtio-pci unused=virtio_pci,igb_uio Though for other drivers this works. Sample output with the change: 0000:00:04.0 'Virtio network device' if=eth0 drv=virtio-pci unused=virtio_pci,igb_uio
souvikdey33 (1): Signed-off-by: Souvik Dey <sodey at sonusnet.com> Fixes: 3da038604009 ("Signed-off-by: Souvik Dey <sodey at sonusnet.com>") tools/dpdk-devbind.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) -- >From 3da0386040092fcd54ee333ceff8c427a36c6b45 Mon Sep 17 00:00:00 2001 From: souvikdey33 <so...@sonusnet.com> Date: Thu, 25 Aug 2016 23:31:28 -0400 Subject: [PATCH v2] Signed-off-by: Souvik Dey <sodey at sonusnet.com> When we execute the status command the for virtio inerfaces the interface name is not shown. Sample output without the change. 0000:00:04.0 'Virtio network device' if= drv=virtio-pci unused=virtio_pci,igb_uio Though for other this works. --- tools/dpdk-devbind.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/tools/dpdk-devbind.py b/tools/dpdk-devbind.py index 9829e25..c0b46ee 100755 --- a/tools/dpdk-devbind.py +++ b/tools/dpdk-devbind.py @@ -36,7 +36,6 @@ import sys import os import getopt import subprocess -import commands from os.path import exists, abspath, dirname, basename @@ -224,14 +223,18 @@ 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. 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) + # 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(virt_path): + elif exists(virtio_sys_path): device["Interface"] = ",".join(os.listdir(virtio_sys_path)) else: device["Interface"] = "" -- 2.9.3.windows.1