[spp] [PATCH 02/29] tools/sppc: update dev options of l2fwd
Yasufumi Ogawa
yasufum.o at gmail.com
Tue Feb 25 11:34:19 CET 2020
Update options for vdevs of l2fwd container app.
Signed-off-by: Yasufumi Ogawa <yasufum.o at gmail.com>
---
tools/sppc/app/l2fwd.py | 32 +++++++++++++++++++-------------
1 file changed, 19 insertions(+), 13 deletions(-)
diff --git a/tools/sppc/app/l2fwd.py b/tools/sppc/app/l2fwd.py
index a658d6c..1ddb6a9 100755
--- a/tools/sppc/app/l2fwd.py
+++ b/tools/sppc/app/l2fwd.py
@@ -45,12 +45,17 @@ 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)
+ 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', '\\']
@@ -64,24 +69,25 @@ def main():
exit()
# Setup l2fwd command run on container.
- cmd_path = '%s/examples/l2fwd/%s/l2fwd' % (
+ cmd_path = '{}/examples/l2fwd/{}/l2fwd'.format(
env.RTE_SDK, env.RTE_TARGET)
l2fwd_cmd = [cmd_path, '\\']
- file_prefix = 'spp-l2fwd-container%d' % dev_ids_list[0]
+ file_prefix = app_helper.gen_sppc_file_prefix('l2fwd')
+
eal_opts = app_helper.setup_eal_opts(args, file_prefix)
l2fwd_opts = ['-p', args.port_mask, '\\']
- # 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 '%s (= 0b%s)' on '%s'." % (
+ # 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, {} devs for '{}(=0b{})'.".format(
+ len(args.dev_uids.split(',')),
args.port_mask,
- format(int(args.port_mask, 16), 'b'),
- args.dev_ids))
+ format(int(args.port_mask, 16), 'b')))
exit()
cmds = docker_cmd + docker_opts + l2fwd_cmd + eal_opts + l2fwd_opts
--
2.17.1
More information about the spp
mailing list