summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRadu Nicolau <radu.nicolau@intel.com>2017-02-23 14:28:49 +0000
committerDave Barach <openvpp@barachs.net>2017-02-24 12:16:38 +0000
commit02767e9f2eaf7ccfc4079f83d467ad2d3faee203 (patch)
tree315b73cfe770d24c353731d1da98fd3d69e6da00
parentbcc6aa4c13efef5684f80f59b4ef568ffeef2d9d (diff)
Fixed QAT device binding and device unbinding when vpp package is removed
Change-Id: I35ad6a42093cad0945df1df09a39c63c4560dce6 Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
-rw-r--r--build-root/deb/debian/vpp.postrm2
-rw-r--r--build-root/rpm/vpp.spec2
-rwxr-xr-xsrc/vnet/devices/dpdk/init.c2
3 files changed, 3 insertions, 3 deletions
diff --git a/build-root/deb/debian/vpp.postrm b/build-root/deb/debian/vpp.postrm
index ac16a459d0f..24b4842fd0a 100644
--- a/build-root/deb/debian/vpp.postrm
+++ b/build-root/deb/debian/vpp.postrm
@@ -7,7 +7,7 @@ pci_dirs=`find /sys/bus/pci/drivers -type d -name igb_uio -o -name uio_pci_gener
for d in $pci_dirs; do
for f in ${d}/*; do
[ -e "${f}/config" ] || continue
- echo 1 > ${f}/remove
+ echo ${f##*/} > ${d}/unbind
basename `dirname ${f}` | xargs echo -n "Removing driver"; echo " for PCI ID" `basename ${f}`
removed=y
done
diff --git a/build-root/rpm/vpp.spec b/build-root/rpm/vpp.spec
index 95196e9be6e..7bc18ca4e8f 100644
--- a/build-root/rpm/vpp.spec
+++ b/build-root/rpm/vpp.spec
@@ -244,7 +244,7 @@ pci_dirs=`find /sys/bus/pci/drivers -type d -name igb_uio -o -name uio_pci_gener
for d in $pci_dirs; do
for f in ${d}/*; do
[ -e "${f}/config" ] || continue
- echo 1 > ${f}/remove
+ echo ${f##*/} > ${d}/unbind
basename `dirname ${f}` | xargs echo -n "Removing driver"; echo " for PCI ID" `basename ${f}`
removed=y
done
diff --git a/src/vnet/devices/dpdk/init.c b/src/vnet/devices/dpdk/init.c
index 7249cc52e9b..c50c0659696 100755
--- a/src/vnet/devices/dpdk/init.c
+++ b/src/vnet/devices/dpdk/init.c
@@ -858,7 +858,7 @@ dpdk_bind_devices_to_uio (dpdk_config_main_t * conf)
vec_reset_length (pci_addr);
pci_addr = format (pci_addr, "%U%c", format_vlib_pci_addr, &d->bus_address, 0);
- if (d->device_class != PCI_CLASS_NETWORK_ETHERNET)
+ if (d->device_class != PCI_CLASS_NETWORK_ETHERNET && d->device_class != PCI_CLASS_PROCESSOR_CO)
continue;
if (num_whitelisted)