From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 2238CA0524 for ; Tue, 25 Feb 2020 11:35:05 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 1383AB62; Tue, 25 Feb 2020 11:35:05 +0100 (CET) Received: from mail-pl1-f196.google.com (mail-pl1-f196.google.com [209.85.214.196]) by dpdk.org (Postfix) with ESMTP id 874CAB62 for ; Tue, 25 Feb 2020 11:35:03 +0100 (CET) Received: by mail-pl1-f196.google.com with SMTP id p11so5314568plq.10 for ; Tue, 25 Feb 2020 02:35:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=3kGOazNw+LEnN9vIsPijnGOz85B5FfubrVK4ryhiDso=; b=DZeyV/UW15YlDkP0WK0aBvTTsOuVwj3gMMuNn0Oy2d5+yof0uDZDbv2LzWGf92/NR8 gLmSHeWr6/o0TmETudjvyveiiid4Xm6hEk29ut6xfYfvWEum5w2izk+oxnfCI/wO0WAw B6uLz4YDjs/Uc3oTF1avl6rx4PbFqHyt2rTdKvdVb18iCCDRBLqItmlz91HicEPKIAbB syjYyddGtSsZGnk1uHsS3F2ulEMTrs1an1LOhR/QIzHODwwpJzFuhVkfH+UmcHgHg+qs 0zLOLZ4DV6wHVilP2NyMAhHTDWhGfaVUJnkH2oY15rwp+LUad05WKbBqwxPLwK9vb1sy SLBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=3kGOazNw+LEnN9vIsPijnGOz85B5FfubrVK4ryhiDso=; b=QZyMGHAEdAtax9B63W9RZtjiDDXUjmA6X1rUXsJMjAteYrF3Zo57NvZAX8zUFcqJcD 4+QIJchdYClUGj1xqqQB1i6G1RNeE+wFpUrqIcplVwHEwjodI58/l75Q7dY9B3iPOqj4 cd5QdEZESZQWdHwGbWdqIkWq9M/I/BBrL305IlI170/LbN/B0C2oiuA3qEUFGXk4KwQH 3t7I8CG4PUmJpMN7VMUPve2N84UkpLDtvhnzOBpILsBNbx3abd9sc4Hg3/60nlAxY5p3 ia8HKL3Rdttuof74V1sz5oqaeYzWb3+pjlZTxKpBS9aCtu4EYabR1GBqs2LpT96ztxUR W9tA== X-Gm-Message-State: APjAAAWwyM1BPTQox308fvDNP+RbxhO7tyhAZTh0mMRdd2AAoR0iP38h MK808Nxb4vGr1HaqkxKR8kMskQqk X-Google-Smtp-Source: APXvYqwwlHYFtcGyP6ovqdj6OLgCAlYBll8hbF1Ag6vDg6kmS/saQ3EtoixqDrNxkgbxcoAZoYoOlA== X-Received: by 2002:a17:90a:191:: with SMTP id 17mr4484930pjc.88.1582626902343; Tue, 25 Feb 2020 02:35:02 -0800 (PST) Received: from localhost.localdomain ([2400:4050:c8c2:de00:35bc:b9a3:f404:3cf2]) by smtp.gmail.com with ESMTPSA id a10sm15819987pgk.71.2020.02.25.02.35.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Feb 2020 02:35:01 -0800 (PST) From: Yasufumi Ogawa To: spp@dpdk.org, ferruh.yigit@intel.com, yasufum.o@gmail.com Date: Tue, 25 Feb 2020 19:34:23 +0900 Message-Id: <20200225103446.8243-7-yasufum.o@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200225103446.8243-1-yasufum.o@gmail.com> References: <20200225103446.8243-1-yasufum.o@gmail.com> Subject: [spp] [PATCH 06/29] tools/sppc: update dev options of l3fwd-acl X-BeenThere: spp@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Soft Patch Panel List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: spp-bounces@dpdk.org Sender: "spp" Update options for vdevs of l3fwd-acl container app. Signed-off-by: Yasufumi Ogawa --- tools/sppc/app/l3fwd-acl.py | 59 +++++++++++++++++++++---------------- 1 file changed, 33 insertions(+), 26 deletions(-) diff --git a/tools/sppc/app/l3fwd-acl.py b/tools/sppc/app/l3fwd-acl.py index d1e2178..46163f4 100755 --- a/tools/sppc/app/l3fwd-acl.py +++ b/tools/sppc/app/l3fwd-acl.py @@ -66,7 +66,7 @@ def parse_args(): def check_config_format(config_opt, nof_queues): - """Check if config format is valid + """Check if config format is valid. Config options is for Determining which queues from which ports are mapped to which cores. @@ -106,8 +106,8 @@ def check_config_format(config_opt, nof_queues): i = i + 1 if nof_tx_queues > nof_queues: - print('Error: {}={} should be equal or less than {}={}!'.format( - 'tx_queues', nof_tx_queues, 'nof_queues', nof_queues)) + print('Error: {0:s}={1:d} should be equal or less than {2:s}={3:d}!'. + format('tx_queues', nof_tx_queues, 'nof_queues', nof_queues)) print("\tnof_queues is defiend with '-nq' or '--nof-queues' option") return False @@ -115,7 +115,7 @@ def check_config_format(config_opt, nof_queues): def check_jumbo_opt(enable_jumbo, max_pkt_len): - """Check if jumbo frame option is valid + """Check if jumbo frame option is valid. Jumbo frame is enabled with '--enable-jumbo' and max packet size is defined with '--max-pkt-len'. @@ -128,8 +128,8 @@ def check_jumbo_opt(enable_jumbo, max_pkt_len): if max_pkt_len is not None: if (max_pkt_len < 64) or (max_pkt_len > 9600): - print('Error: --max-pkt-len {} should be {}-{}'.format( - max_pkt_len, 64, 9600)) + print('Error: --max-pkt-len {0:d} should be {1:d}-{2:d}'. + format(max_pkt_len, 64, 9600)) return False return True @@ -149,39 +149,46 @@ def main(): # Check for other mandatory opitons. if args.port_mask is None: common.error_exit('--port-mask') - if args.dev_ids is None: - common.error_exit('--dev-ids') - # Setup for vhost devices with given device IDs. - dev_ids_list = app_helper.dev_ids_to_list(args.dev_ids) - sock_files = app_helper.sock_files(dev_ids_list) + # Setup devices with given device UIDs. + dev_uids = None + sock_files = None + if args.dev_uids is not None: + if app_helper.is_valid_dev_uids(args.dev_uids) is False: + print('Invalid option: {}'.format(args.dev_uids)) + exit() + + dev_uids_list = args.dev_uids.split(',') + sock_files = app_helper.sock_files(dev_uids_list) # Setup docker command. docker_cmd = ['sudo', 'docker', 'run', '\\'] docker_opts = app_helper.setup_docker_opts( args, container_image, sock_files) - # Parse vhost device IDs and Check the number of devices is - # sufficient for port mask. - if app_helper.is_sufficient_dev_ids( - args.dev_ids, args.port_mask) is not True: - print("Error: Cannot reserve ports '{} (= 0b{})' on '{}'.".format( - args.port_mask, - format(int(args.port_mask, 16), 'b'), - args.dev_ids)) + # Check given number of ports is enough for portmask. + if (args.port_mask is None) or (args.dev_uids is None): + pass + elif app_helper.is_sufficient_ports(args) is not True: + print("Error: Not enough ports, {0:d} devs for '{1:s}(=0b{2:s})'.". + format(len(args.dev_uids.split(',')), args.port_mask, + format(int(args.port_mask, 16), 'b'))) exit() # Setup l3fwd-acl command runs on container. - cmd_path = '{}/examples/l3fwd-acl/{}/l3fwd-acl'.format( + cmd_path = '{0:s}/examples/l3fwd-acl/{1:s}/l3fwd-acl'.format( env.RTE_SDK, env.RTE_TARGET) l3fwd_cmd = [cmd_path, '\\'] # Setup EAL options. - file_prefix = 'spp-l3fwd-acl-container{}'.format(dev_ids_list[0]) + if args.name is not None: + file_prefix = app_helper.gen_sppc_file_prefix(args.name) + else: + file_prefix = app_helper.gen_sppc_file_prefix('l3fwd-acl') eal_opts = app_helper.setup_eal_opts(args, file_prefix) - # Setup l3fwd options. + # Setup l3fwd-acl options. l3fwd_opts = ['-p', args.port_mask, '\\'] if args.config is None: @@ -190,7 +197,7 @@ def main(): print('Invalid config: {}'.format(args.config)) exit() else: - l3fwd_opts += ['--config', '"{}"'.format(args.config), '\\'] + l3fwd_opts += ['--config', '"{:s}"'.format(args.config), '\\'] jumbo_opt_valid = False if args.enable_jumbo is True: @@ -202,13 +209,13 @@ def main(): if args.rule_ipv4 is not None: if os.path.exists(args.rule_ipv4): - l3fwd_opts += ['--rule_ipv4', '"{}"'.format(args.rule_ipv4), '\\'] + l3fwd_opts += ['--rule_ipv4', '"{:s}"'.format(args.rule_ipv4), '\\'] else: print('Error: "{}" does not exist'.format(args.rule_ipv4)) exit() if args.rule_ipv6 is not None: if os.path.exists(args.rule_ipv6): - l3fwd_opts += ['--rule_ipv6', '"{}"'.format(args.rule_ipv6), '\\'] + l3fwd_opts += ['--rule_ipv6', '"{:s}"'.format(args.rule_ipv6), '\\'] else: print('Error: "{}" does not exist'.format(args.rule_ipv6)) exit() @@ -220,7 +227,7 @@ def main(): if (args.enable_jumbo is not None) and (jumbo_opt_valid is True): l3fwd_opts += ['--enable-jumbo', '\\'] if args.max_pkt_len is not None: - l3fwd_opts += ['--max-pkt-len {}'.format(args.max_pkt_len), '\\'] + l3fwd_opts += ['--max-pkt-len {:d}'.format(args.max_pkt_len), '\\'] if args.no_numa is True: l3fwd_opts += ['--no-numa', '\\'] -- 2.17.1