From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id A534A5910 for ; Thu, 26 Jun 2014 05:36:26 +0200 (CEST) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga103.fm.intel.com with ESMTP; 25 Jun 2014 20:31:13 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.01,548,1400050800"; d="scan'208";a="553441638" Received: from irvmail001.ir.intel.com ([163.33.26.43]) by fmsmga001.fm.intel.com with ESMTP; 25 Jun 2014 20:36:39 -0700 Received: from sivswdev02.ir.intel.com (sivswdev02.ir.intel.com [10.237.217.46]) by irvmail001.ir.intel.com (8.14.3/8.13.6/MailSET/Hub) with ESMTP id s5Q3adlv031060; Thu, 26 Jun 2014 04:36:39 +0100 Received: from sivswdev02.ir.intel.com (localhost [127.0.0.1]) by sivswdev02.ir.intel.com with ESMTP id s5Q3adWi015408; Thu, 26 Jun 2014 04:36:39 +0100 Received: (from bricha3@localhost) by sivswdev02.ir.intel.com with id s5Q3acrO015403; Thu, 26 Jun 2014 04:36:38 +0100 From: Bruce Richardson To: dev@dpdk.org Date: Thu, 26 Jun 2014 04:36:38 +0100 Message-Id: <1403753798-15074-1-git-send-email-bruce.richardson@intel.com> X-Mailer: git-send-email 1.7.0.7 Subject: [dpdk-dev] [PATCH] dpdk_nic_bind: allow status query without igb_uio X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Jun 2014 03:36:27 -0000 From: Bruce richardson Allow the nic bind/unbind script to print out its status messages even if the igb_uio driver is not loaded. For binding and unbinding NICs, the behaviour is the same, and the igb_uio driver still needs to be loaded. Signed-off-by: Bruce richardson --- tools/dpdk_nic_bind.py | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/tools/dpdk_nic_bind.py b/tools/dpdk_nic_bind.py index 42e845f..da01e01 100755 --- a/tools/dpdk_nic_bind.py +++ b/tools/dpdk_nic_bind.py @@ -45,6 +45,12 @@ devices = {} # list of supported DPDK drivers dpdk_drivers = [ "igb_uio", "vfio-pci" ] +# command-line arg flags +b_flag = None +status_flag = False +force_flag = False +args = [] + def usage(): '''Print usage information for the program''' argv0 = basename(sys.argv[0]) @@ -168,7 +174,7 @@ def check_modules(): mod["Found"] = True # check if we have at least one loaded module - if True not in [mod["Found"] for mod in mods]: + if True not in [mod["Found"] for mod in mods] and b_flag is not None: print "Error - no supported modules are loaded" sys.exit(1) @@ -438,9 +444,10 @@ def show_status(): def parse_args(): '''Parses the command-line arguments given by the user and takes the appropriate action for each''' - b_flag = None - status_flag = False - force_flag = False + global b_flag + global status_flag + global force_flag + global args if len(sys.argv) <= 1: usage() sys.exit(0) @@ -471,6 +478,13 @@ def parse_args(): else: b_flag = arg +def do_arg_actions(): + '''do the actual action requested by the user''' + global b_flag + global status_flag + global force_flag + global args + if b_flag is None and not status_flag: print "Error: No action specified for devices. Please give a -b or -u option" print "Run '%s --usage' for further information" % sys.argv[0] @@ -492,9 +506,10 @@ def parse_args(): def main(): '''program main function''' + parse_args() check_modules() get_nic_details() - parse_args() + do_arg_actions() if __name__ == "__main__": main() -- 1.9.3