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 A57B6A0524 for ; Tue, 25 Feb 2020 11:35:18 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 9DB171BC24; Tue, 25 Feb 2020 11:35:18 +0100 (CET) Received: from mail-pj1-f48.google.com (mail-pj1-f48.google.com [209.85.216.48]) by dpdk.org (Postfix) with ESMTP id F374B1BFCC for ; Tue, 25 Feb 2020 11:35:16 +0100 (CET) Received: by mail-pj1-f48.google.com with SMTP id r67so1079613pjb.0 for ; Tue, 25 Feb 2020 02:35:16 -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=f0qvPa6YllZ60PXLm+/MNxBDKYzRlL1WyRx93AAar7Q=; b=IxU7VUp2rEQn/E0arS5Ba5EE7novuUDGFexPpTQpTJG4MaUsNAjWqNGKikWa8lZvnu aoNE14s/xAfAUgPh6FiSfw9wMKCd02ydjDV5bF7ZYLcFIT4cG6A4wGfxb5W7meaEWpts dcBjG1iGj+8E0ts4oyNRyno6/FIpichpznCJ7tzLTdOnQ8vOqbbx0QxWU312FlXDbjJg QmPk9nXRtsndjjDXazDfp3Rd+Fqbgqci9EaEMpPwLc4e+gTM+/XFjaS/LLKyQEaECQxZ 8MrLVts5ehs/8jh77xjeJk2QOpkFyWmqXV9YHMHKHFE0INyzxgusGEDwPSE40qfWyt7J Ke0w== 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=f0qvPa6YllZ60PXLm+/MNxBDKYzRlL1WyRx93AAar7Q=; b=SLXCljMibVSeKN2p6AUuEeniQLKN8/RjGVKkUf8XpJVCSwugac4KoEBjQzIV/HME+b sUaHp8xabpOfLOWoiMDzUzCFbU6j77jNym4q+nw8O7UpxRreE+f7CRXV/+bnuncK2m1q Jf2HAaXEHrEIZWFjiXcDfpErU12YKemSHJ5nC8WXUN1dpm79jzezRsHV+SpAlmP1dOPS sWaH/W/wDUDYc64iZmWAE0VlrxzSSGo9Xac8obtTD6HVI0Iy1b28rU5yswCKVZhbqz/a 2gqsECxOyNGzPg0FkBnn2uiYT7TRUxqrwZxgPFiNsRxBuV6uAysx+hI0fkuHuiQszATa PyAA== X-Gm-Message-State: APjAAAX08RBcnZV1JLX2WdMShW+VUzcHNIdvT2ePhb3a2HFbdpoc8Hug cJ1LA3eTBCJ9WjcrrAqTRsini3u3 X-Google-Smtp-Source: APXvYqz5XHIKfi956oBhG36D3VLXYD7Wpi8DKLlWZZkFRuqqsPyR2XZRLDrqX6h+kqVnn0HLDdqyhw== X-Received: by 2002:a17:90a:c78b:: with SMTP id gn11mr4420187pjb.97.1582626915932; Tue, 25 Feb 2020 02:35:15 -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.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Feb 2020 02:35:15 -0800 (PST) From: Yasufumi Ogawa To: spp@dpdk.org, ferruh.yigit@intel.com, yasufum.o@gmail.com Date: Tue, 25 Feb 2020 19:34:31 +0900 Message-Id: <20200225103446.8243-15-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 14/29] tools/sppc: update dev options of spp_primary 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 spp_primary container app. Signed-off-by: Yasufumi Ogawa --- tools/sppc/app/spp-primary.py | 84 ++++++++++++----------------------- 1 file changed, 28 insertions(+), 56 deletions(-) diff --git a/tools/sppc/app/spp-primary.py b/tools/sppc/app/spp-primary.py index 7ebee68..3e5b2ba 100755 --- a/tools/sppc/app/spp-primary.py +++ b/tools/sppc/app/spp-primary.py @@ -18,8 +18,17 @@ def parse_args(): description="Launcher for spp-primary application container") parser = app_helper.add_eal_args(parser) + parser = app_helper.add_sppc_args(parser) # Application specific arguments + parser.add_argument( + '-d', '--dev-uids', + type=str, + help='Virtual devices of SPP in resource UID format') + parser.add_argument( + '-v', '--volume', + nargs='*', type=str, + help='Bind mount a volume (for docker)') parser.add_argument( '-n', '--nof-ring', type=int, @@ -29,14 +38,6 @@ def parse_args(): '-p', '--port-mask', type=str, help='Port mask') - parser.add_argument( - '-dv', '--dev-vhost-ids', - type=str, - help='vhost device IDs') - parser.add_argument( - '-dt', '--dev-tap-ids', - type=str, - help='TAP device IDs') parser.add_argument( '-ip', '--ctl-ip', type=str, @@ -47,14 +48,14 @@ def parse_args(): default=5555, help="Port for primary of spp-ctl") - parser = app_helper.add_sppc_args(parser) - return parser.parse_args() def main(): args = parse_args() + app_name = 'spp_primary' + # Setup docker command. docker_cmd = ['sudo', 'docker', 'run', '\\'] docker_opts = [] @@ -74,60 +75,31 @@ def main(): docker_opts += ['-it', '\\'] docker_opts += [ - '--privileged', '\\', # should be privileged + '--privileged', '\\', # must be privileged '-v', '/dev/hugepages:/dev/hugepages', '\\', - '-v', '/var/run/:/var/run/', '\\'] + '-v', '/var/run/:/var/run/', '\\', + '-v', '/tmp:/tmp', '\\'] - if args.dev_vhost_ids is not None: - docker_opts += ['-v', '/tmp:/tmp', '\\'] + # Setup devices with given device UIDs. + dev_uids_list = None + sock_files = [] + 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() - # Setup for TAP devices with given device IDs. - if args.dev_tap_ids is not None: - dev_tap_ids = app_helper.dev_ids_to_list(args.dev_tap_ids) - else: - dev_tap_ids = [] - - # Setup for vhost devices with given device IDs. - if args.dev_vhost_ids is not None: - dev_vhost_ids = app_helper.dev_ids_to_list(args.dev_vhost_ids) - socks = [] - for dev_id in dev_vhost_ids: - socks.append({ - 'host': '/tmp/sock{}'.format(dev_id), - 'guest': '/tmp/sock{}'.format(dev_id)}) - else: - dev_vhost_ids = [] + dev_uids_list = args.dev_uids.split(',') + sock_files = app_helper.sock_files(dev_uids_list, is_spp_pri=True) docker_opts += [ container_image, '\\'] # Setup spp primary command. - spp_cmd = ['spp_primary', '\\'] - - # Do not use 'app_helper.setup_eal_opts()' because spp_primary does - # not use virtio vdev but TAP or vhost, which should be added manually. - core_opt = app_helper.get_core_opt(args) - mem_opt = app_helper.get_mem_opt(args) - eal_opts = [ - core_opt['attr'], core_opt['val'], '\\', - '-n', str(args.nof_memchan), '\\', - mem_opt['attr'], mem_opt['val'], '\\', - '--huge-dir', '/dev/hugepages', '\\', - '--proc-type', 'primary', '\\'] - - # Add TAP vdevs - for i in range(len(dev_tap_ids)): - eal_opts += [ - '--vdev', 'net_tap{},iface=foo{}'.format( - dev_tap_ids[i], dev_tap_ids[i]), '\\'] - - # Add vhost vdevs - for i in range(len(dev_vhost_ids)): - eal_opts += [ - '--vdev', 'eth_vhost{},iface={}'.format( - dev_vhost_ids[i], socks[i]['guest']), '\\'] - - eal_opts += ['--', '\\'] + spp_cmd = [app_name, '\\'] + + eal_opts = app_helper.setup_eal_opts(args, common.SPPC_FILE_PREFIX, + proc_type='primary', + is_spp_pri=True) spp_opts = [] # Check for other mandatory opitons. -- 2.17.1