From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mogw0101.ocn.ad.jp (mogw0101.ocn.ad.jp [118.23.109.73]) by dpdk.org (Postfix) with ESMTP id 4A2E41D8F9 for ; Fri, 15 Jun 2018 10:38:16 +0200 (CEST) Received: from mf-smf-ucb022c3 (mf-smf-ucb022c3.ocn.ad.jp [153.153.66.141]) by mogw0101.ocn.ad.jp (Postfix) with ESMTP id 6F0A445428B; Fri, 15 Jun 2018 17:38:15 +0900 (JST) Received: from ntt.pod01.mv-mta-ucb020 ([153.149.142.83]) by mf-smf-ucb022c3 with ESMTP id TkFLfVPcl2QjaTkFLfFIMu; Fri, 15 Jun 2018 17:38:15 +0900 Received: from smtp.ocn.ne.jp ([153.149.227.166]) by ntt.pod01.mv-mta-ucb020 with id yweF1x0073c2f7501weFY4; Fri, 15 Jun 2018 08:38:15 +0000 Received: from localhost.localdomain (p5164-ipngn8501marunouchi.tokyo.ocn.ne.jp [153.214.228.164]) by smtp.ocn.ne.jp (Postfix) with ESMTPA; Fri, 15 Jun 2018 17:38:15 +0900 (JST) From: ogawa.yasufumi@lab.ntt.co.jp To: ferruh.yigit@intel.com, spp@dpdk.org Cc: Yasufumi Ogawa Date: Fri, 15 Jun 2018 17:37:54 +0900 Message-Id: <20180615083754.20220-16-ogawa.yasufumi@lab.ntt.co.jp> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180615083754.20220-1-ogawa.yasufumi@lab.ntt.co.jp> References: <20180615083754.20220-1-ogawa.yasufumi@lab.ntt.co.jp> Subject: [spp] [PATCH 15/15] tools/sppc: add spp launcher script 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: , X-List-Received-Date: Fri, 15 Jun 2018 08:38:16 -0000 From: Yasufumi Ogawa SPP consists of a primary and several secondary processes. It usually five or more processes are required to configure network, but it takes a time to launch processes one by one. This patch is for adding a helper script to launch all of processes at once. Signed-off-by: Yasufumi Ogawa --- tools/sppc/tools/spp-launcher.py | 96 ++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100755 tools/sppc/tools/spp-launcher.py diff --git a/tools/sppc/tools/spp-launcher.py b/tools/sppc/tools/spp-launcher.py new file mode 100755 index 0000000..0bdd6e3 --- /dev/null +++ b/tools/sppc/tools/spp-launcher.py @@ -0,0 +1,96 @@ +#!/usr/bin/env python +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Nippon Telegraph and Telephone Corporation + +import argparse +import subprocess +from time import sleep + + +def parse_args(): + parser = argparse.ArgumentParser( + description="Launcher for SPP") + + parser.add_argument( + '-pl', '--pri-lcore', + type=int, + default='0', + help="SPP primary lcore ID") + parser.add_argument( + '-dt', '--dev-tap-ids', + type=str, + default='1', + help="Set of IDs of TAP device such as '1,2'") + parser.add_argument( + '-p', '--portmask', + type=str, + default='0x01', + help="Portmask") + parser.add_argument( + '-sid', '--nfv-master-lcore-id', + type=int, + default=1, + help="ID of spp_nfv master lcore") + parser.add_argument( + '-n', '--nof-spp-nfv', + type=int, + default=1, + help="Number of spp_nfv") + parser.add_argument( + '--shared', + action='store_true', + help="Set master lcore is shared among spp_nfv(s)") + parser.add_argument( + '--dist-ver', + type=str, + default='latest', + help="Version of Linux distribution") + parser.add_argument( + '-wt', '--wait-time', + type=int, + default=1, + help="Sleep time for waiting launching spp_nfv(s)") + + return parser.parse_args() + + +def main(): + args = parse_args() + + cmd = ['app/spp-primary.py', + '-l', str(args.pri_lcore), + '-dt', args.dev_tap_ids, + '-p', args.portmask, + '--dist-ver', args.dist_ver] + subprocess.call(cmd) + + sleep(args.wait_time) + + master_id = args.nfv_master_lcore_id + for i in range(1, args.nof_spp_nfv + 1): + cmd = ['sudo', 'rm', '-rf', '/tmp/sock%d' % i] + subprocess.call(cmd) + + if args.shared is True: + slave_id = master_id + i + l_opt = '%d,%d' % (master_id, slave_id) + else: + slave_id = master_id + 1 + l_opt = '%d,%d' % (master_id, slave_id) + # update master lcore ID to not be shared + master_id = slave_id + 1 + + if (args.pri_lcore == master_id) or (args.pri_lcore == slave_id): + print("Error: cannot assign primary and secondary " + + "on the same lcore") + exit() + + cmd = ['app/spp-nfv.py', + '-i', str(i), + '-l', l_opt, + '--dist-ver', args.dist_ver] + subprocess.call(cmd) + + +if __name__ == '__main__': + main() -- 2.17.1