From: Ferruh Yigit Date: Thu, 4 May 2017 14:10:50 +0000 (+0100) Subject: usertools: add option to unbind all devices X-Git-Url: http://git.droids-corp.org/?p=dpdk.git;a=commitdiff_plain;h=657c7133854b4f209a8fc3ebd7f978bcd3353b63 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 --- 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)