xref: /linux/tools/testing/selftests/tc-testing/tdc_multibatch.py (revision 450ef62033c76cb654e0deaf432c1b40b57d1488)
1*450ef620SVlad Buslov#!/usr/bin/python3
2*450ef620SVlad Buslov# SPDX-License-Identifier: GPL-2.0
3*450ef620SVlad Buslov"""
4*450ef620SVlad Buslovtdc_multibatch.py - a thin wrapper over tdc_batch.py to generate multiple batch
5*450ef620SVlad Buslovfiles
6*450ef620SVlad Buslov
7*450ef620SVlad BuslovCopyright (C) 2019 Vlad Buslov <vladbu@mellanox.com>
8*450ef620SVlad Buslov"""
9*450ef620SVlad Buslov
10*450ef620SVlad Buslovimport argparse
11*450ef620SVlad Buslovimport os
12*450ef620SVlad Buslov
13*450ef620SVlad Buslovparser = argparse.ArgumentParser(
14*450ef620SVlad Buslov    description='TC multiple batch file generator')
15*450ef620SVlad Buslovparser.add_argument("device", help="device name")
16*450ef620SVlad Buslovparser.add_argument("dir", help="where to put batch files")
17*450ef620SVlad Buslovparser.add_argument(
18*450ef620SVlad Buslov    "num_filters", type=int, help="how many lines per batch file")
19*450ef620SVlad Buslovparser.add_argument("num_files", type=int, help="how many batch files")
20*450ef620SVlad Buslovparser.add_argument(
21*450ef620SVlad Buslov    "operation",
22*450ef620SVlad Buslov    choices=['add', 'del', 'replace'],
23*450ef620SVlad Buslov    help="operation to perform on filters")
24*450ef620SVlad Buslovargs = parser.parse_args()
25*450ef620SVlad Buslov
26*450ef620SVlad Buslovdevice = args.device
27*450ef620SVlad Buslovdir = args.dir
28*450ef620SVlad Buslovfile_prefix = args.operation + "_"
29*450ef620SVlad Buslovnum_filters = args.num_filters
30*450ef620SVlad Buslovnum_files = args.num_files
31*450ef620SVlad Buslovoperation = args.operation
32*450ef620SVlad Buslovhandle = 1
33*450ef620SVlad Buslov
34*450ef620SVlad Buslovfor i in range(num_files):
35*450ef620SVlad Buslov    file = dir + '/' + file_prefix + str(i)
36*450ef620SVlad Buslov    os.system("./tdc_batch.py -n {} -a {} -e {} -m {} {} {}".format(
37*450ef620SVlad Buslov        num_filters, handle, operation, i, device, file))
38*450ef620SVlad Buslov    handle += num_filters
39