summaryrefslogtreecommitdiffstats
path: root/extras/scripts/pci-nic-bind-to-kernel
diff options
context:
space:
mode:
authorDamjan Marion <damarion@cisco.com>2017-04-26 10:38:14 +0200
committerDamjan Marion <dmarion.lists@gmail.com>2017-04-26 15:39:18 +0000
commit5ef1fef692182dabc986995390d46552d88fb9df (patch)
treefd855e7afff50f1262ec01fac03315afe161bc0b /extras/scripts/pci-nic-bind-to-kernel
parent417488643611acbf8e3e2525d1e6c83f5eb107fa (diff)
Move scripts to extras/
Change-Id: I2abd6367915d4652fcf45025bd251046f3f206ab Signed-off-by: Damjan Marion <damarion@cisco.com>
Diffstat (limited to 'extras/scripts/pci-nic-bind-to-kernel')
-rwxr-xr-xextras/scripts/pci-nic-bind-to-kernel19
1 files changed, 19 insertions, 0 deletions
diff --git a/extras/scripts/pci-nic-bind-to-kernel b/extras/scripts/pci-nic-bind-to-kernel
new file mode 100755
index 00000000000..3d8559e3e15
--- /dev/null
+++ b/extras/scripts/pci-nic-bind-to-kernel
@@ -0,0 +1,19 @@
+#!/bin/bash
+
+# Bind all unused PCI devices bound to uio drivers
+# back to default kernel driver
+
+if [ $USER != "root" ] ; then
+ echo "Restarting script with sudo..."
+ sudo $0 ${*}
+ exit
+fi
+
+for f in /sys/bus/pci/drivers/{igb_uio,uio_pci_generic,vfio-pci}/*; do
+ [ -e ${f}/config ] || continue
+ fuser -s ${f}/config && continue
+ echo 1 > ${f}/remove
+ removed=y
+done
+
+[ -n ${removed} ] && echo 1 > /sys/bus/pci/rescan