WIP FPC-III support
[linux/fpc-iii.git] / tools / testing / selftests / tc-testing / tdc_multibatch.py
blob48e1f17ff2e86807e3f8334758b4d3c90d2810f8
1 #!/usr/bin/env python3
2 # SPDX-License-Identifier: GPL-2.0
3 """
4 tdc_multibatch.py - a thin wrapper over tdc_batch.py to generate multiple batch
5 files
7 Copyright (C) 2019 Vlad Buslov <vladbu@mellanox.com>
8 """
10 import argparse
11 import os
13 parser = argparse.ArgumentParser(
14 description='TC multiple batch file generator')
15 parser.add_argument("device", help="device name")
16 parser.add_argument("dir", help="where to put batch files")
17 parser.add_argument(
18 "num_filters", type=int, help="how many lines per batch file")
19 parser.add_argument("num_files", type=int, help="how many batch files")
20 parser.add_argument(
21 "operation",
22 choices=['add', 'del', 'replace'],
23 help="operation to perform on filters")
24 parser.add_argument(
25 "-x",
26 "--file_prefix",
27 default="",
28 help="prefix for generated batch file names")
29 parser.add_argument(
30 "-d",
31 "--duplicate_handles",
32 action="store_true",
33 help="duplicate filter handle range in all files")
34 parser.add_argument(
35 "-a",
36 "--handle_start",
37 type=int,
38 default=1,
39 help="start handle range from (default: 1)")
40 parser.add_argument(
41 "-m",
42 "--mac_prefix",
43 type=int,
44 default=0,
45 choices=range(0, 256),
46 help="add this value to third byte of source MAC address of flower filter"
47 "(default: 0)")
48 args = parser.parse_args()
50 device = args.device
51 dir = args.dir
52 file_prefix = args.file_prefix + args.operation + "_"
53 num_filters = args.num_filters
54 num_files = args.num_files
55 operation = args.operation
56 duplicate_handles = args.duplicate_handles
57 handle = args.handle_start
58 mac_prefix = args.mac_prefix
60 for i in range(num_files):
61 file = dir + '/' + file_prefix + str(i)
62 os.system("./tdc_batch.py -n {} -a {} -e {} -m {} {} {}".format(
63 num_filters, handle, operation, i + mac_prefix, device, file))
64 if not duplicate_handles:
65 handle += num_filters