From 657c7133854b4f209a8fc3ebd7f978bcd3353b63 Mon Sep 17 00:00:00 2001 From: Ferruh Yigit Date: Thu, 4 May 2017 15:10:50 +0100 Subject: [PATCH] usertools: add option to unbind all devices -u accepts "dpdk" argument to unbind all devices bound to a DPDK driver. Usage: usertools/dpdk-devbind.py -u dpdk Example: $ usertools/dpdk-devbind.py -s Network devices using DPDK-compatible driver ============================================ 0000:08:00.1 '...' drv=igb_uio unused= 0000:81:00.0 '...' drv=igb_uio unused= 0000:88:00.0 '...' drv=igb_uio unused= 0000:88:00.1 '...' drv=igb_uio unused= ... $ usertools/dpdk-devbind.py -u dpdk $ usertools/dpdk-devbind.py -s Network devices using DPDK-compatible driver ============================================ .... Signed-off-by: Ferruh Yigit --- usertools/dpdk-devbind.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/usertools/dpdk-devbind.py b/usertools/dpdk-devbind.py index f0225b6ce9..da6e40cbe2 100755 --- a/usertools/dpdk-devbind.py +++ b/usertools/dpdk-devbind.py @@ -518,6 +518,14 @@ def bind_one(dev_id, driver, force): def unbind_all(dev_list, force=False): """Unbind method, takes a list of device locations""" + + if dev_list[0] == "dpdk": + for d in devices.keys(): + if "Driver_str" in devices[d]: + if devices[d]["Driver_str"] in dpdk_drivers: + unbind_one(devices[d]["Slot"], force) + return + dev_list = map(dev_id_from_dev_name, dev_list) for d in dev_list: unbind_one(d, force) -- 2.20.1