Thread (19 messages) 19 messages, 6 authors, 2016-10-04

[PATCH v2] tools: fix issue with virtio interfaces

flat view
STALE3656d

From: souvikdey33 <hidden>
Date: 2016-08-26 04:00:23
Subsystem: the rest · Maintainer: Linus Torvalds

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 [off-list ref]
  Fixes: 3da038604009 ("Signed-off-by: Souvik Dey [off-list ref]")
  
 tools/dpdk-devbind.py | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

-- 
From 3da0386040092fcd54ee333ceff8c427a36c6b45 Mon Sep 17 00:00:00 2001
From: souvikdey33 <redacted>
Date: Thu, 25 Aug 2016 23:31:28 -0400
Subject: [PATCH v2] Signed-off-by: Souvik Dey [off-list ref]

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help