[spp] [PATCH 09/29] tools/sppc: update dev options of load-balancer
Yasufumi Ogawa
yasufum.o at gmail.com
Tue Feb 25 11:34:26 CET 2020
Update options for vdevs of load-balancer container app.
Signed-off-by: Yasufumi Ogawa <yasufum.o at gmail.com>
---
tools/sppc/app/load-balancer.py | 51 +++++++++++++++++----------------
1 file changed, 26 insertions(+), 25 deletions(-)
diff --git a/tools/sppc/app/load-balancer.py b/tools/sppc/app/load-balancer.py
index 687bfe5..d86a04b 100755
--- a/tools/sppc/app/load-balancer.py
+++ b/tools/sppc/app/load-balancer.py
@@ -31,7 +31,7 @@ def parse_args():
type=str,
help="List of tx ports and queues handled by the I/O tx lcores")
parser.add_argument(
- '-w', '--worker-lcores',
+ '-wl', '--worker-lcores',
type=str,
help="List of worker lcores")
parser.add_argument(
@@ -58,6 +58,8 @@ def parse_args():
def main():
args = parse_args()
+ app_name = 'load_balancer'
+
# Container image name such as 'sppc/dpdk-ubuntu:18.04'
if args.container_image is not None:
container_image = args.container_image
@@ -66,27 +68,33 @@ def main():
common.IMG_BASE_NAMES['dpdk'],
args.dist_name, args.dist_ver)
- # Check for other mandatory opitons.
- if args.dev_ids is None:
- common.error_exit('--dev-ids')
+ # 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()
- # 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)
+ 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)
- app_name = 'load_balancer'
- cmd_path = '%s/examples/%s/%s/%s' % (
- env.RTE_SDK, app_name, env.RTE_TARGET, app_name)
+ cmd_path = '{0:s}/examples/{1:s}/{2:s}/{1:s}'.format(
+ env.RTE_SDK, app_name, env.RTE_TARGET)
# Setup testpmd command.
lb_cmd = [cmd_path, '\\']
- file_prefix = 'spp-lb-container%d' % dev_ids_list[0]
+ # Setup EAL options.
+ 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(app_name)
eal_opts = app_helper.setup_eal_opts(args, file_prefix)
lb_opts = []
@@ -95,37 +103,30 @@ def main():
if args.rx_ports is None:
common.error_exit('--rx-ports')
else:
- rx_ports = '"%s"' % args.rx_ports
- lb_opts += ['--rx', rx_ports, '\\']
+ lb_opts += ['--rx', '"{:s}"'.format(args.rx_ports), '\\']
if args.tx_ports is None:
common.error_exit('--tx-ports')
else:
- tx_ports = '"%s"' % args.tx_ports
- lb_opts += ['--tx', tx_ports, '\\']
+ lb_opts += ['--tx', '"{:s}"'.format(args.tx_ports), '\\']
if args.worker_lcores is None:
common.error_exit('--worker-lcores')
else:
- worker_lcores = '%s' % args.worker_lcores
- lb_opts += ['--w', worker_lcores, '\\']
+ lb_opts += ['--w', '{:s}'.format(args.worker_lcores), '\\']
if args.lpm is None:
common.error_exit('--lpm')
else:
- lpm = '"%s"' % args.lpm
- lb_opts += ['--lpm', lpm, '\\']
+ lb_opts += ['--lpm', '"{:s}"'.format(args.lpm), '\\']
# Check optional opitons.
if args.ring_sizes is not None:
- lb_opts += [
- '--ring-sizes', args.ring_sizes, '\\']
+ lb_opts += ['--ring-sizes', args.ring_sizes, '\\']
if args.burst_sizes is not None:
- lb_opts += [
- '--burst-sizes', args.burst_sizes, '\\']
+ lb_opts += ['--burst-sizes', args.burst_sizes, '\\']
if args.pos_lb is not None:
- lb_opts += [
- '--pos-lb', str(args.pos_lb)]
+ lb_opts += ['--pos-lb', str(args.pos_lb)]
cmds = docker_cmd + docker_opts + lb_cmd + eal_opts + lb_opts
if cmds[-1] == '\\':
--
2.17.1
More information about the spp
mailing list