From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id 976D3234 for ; Wed, 26 Apr 2017 13:58:15 +0200 (CEST) Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 26 Apr 2017 04:58:14 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.37,254,1488873600"; d="scan'208";a="1161174547" Received: from sivswdev02.ir.intel.com ([10.237.217.46]) by fmsmga002.fm.intel.com with ESMTP; 26 Apr 2017 04:58:12 -0700 From: Ferruh Yigit To: Thomas Monjalon Cc: dev@dpdk.org, Ferruh Yigit Date: Wed, 26 Apr 2017 12:58:10 +0100 Message-Id: <20170426115810.495-1-ferruh.yigit@intel.com> X-Mailer: git-send-email 2.8.4 Subject: [dpdk-dev] [PATCH] usertools: reduce devbind status output X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Apr 2017 11:58:16 -0000 Script displays status for all device types and output is much longer than it used to be. This makes harder to read script output. This patch reduces output to the script into a device group which can be defined with new -t,--type parameter to script. Supported types: net crypto mempool eventdev If no device type provided status will print net devices by default. Sample usage: ./usertools/dpdk-devbind.py -s -t mempool Signed-off-by: Ferruh Yigit --- usertools/dpdk-devbind.py | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/usertools/dpdk-devbind.py b/usertools/dpdk-devbind.py index bb4d536..609f0ad 100755 --- a/usertools/dpdk-devbind.py +++ b/usertools/dpdk-devbind.py @@ -86,7 +86,8 @@ def usage(): Display usage information and quit -s, --status: - Print the current status of all known network and crypto devices. + Print the current status of all known devices in a device group. + Device group selected by --type (-t) argument. For each device, it displays the PCI domain, bus, slot and function, along with a text description of the device. Depending upon whether the device is being used by a kernel driver, the igb_uio driver, or no @@ -99,6 +100,11 @@ def usage(): status display will always occur after the other operations have taken place. + -t, --type: + Select device group to print status. + Device group can be network, crypto, eventdev or mempool. + Type argument can be emitted, by default "network" group used. + -b driver, --bind=driver: Select the driver to use or \"none\" to unbind the device @@ -598,26 +604,34 @@ def show_status(): Displays to the user what devices are bound to the igb_uio driver, the kernel driver or to no driver''' - show_device_status(network_devices, "Network") - show_device_status(crypto_devices, "Crypto") - show_device_status(eventdev_devices, "Eventdev") - show_device_status(mempool_devices, "Mempool") + if status_type == "crypto": + show_device_status(crypto_devices, "Crypto") + elif status_type == "event": + show_device_status(eventdev_devices, "Eventdev") + elif status_type == "mempool": + show_device_status(mempool_devices, "Mempool") + else: + show_device_status(network_devices, "Network") def parse_args(): '''Parses the command-line arguments given by the user and takes the appropriate action for each''' global b_flag global status_flag + global status_type global force_flag global args if len(sys.argv) <= 1: usage() sys.exit(0) + # set default status device type + status_type = "net" + try: - opts, args = getopt.getopt(sys.argv[1:], "b:us", + opts, args = getopt.getopt(sys.argv[1:], "b:ust:", ["help", "usage", "status", "force", - "bind=", "unbind"]) + "bind=", "unbind", "type="]) except getopt.GetoptError as error: print(str(error)) print("Run '%s --usage' for further information" % sys.argv[0]) @@ -627,6 +641,8 @@ def parse_args(): if opt == "--help" or opt == "--usage": usage() sys.exit(0) + if opt == "--type" or opt == "-t": + status_type = arg if opt == "--status" or opt == "-s": status_flag = True if opt == "--force": -- 2.9.3