aboutsummaryrefslogtreecommitdiffstats
path: root/tools/testing/selftests/tc-testing/tdc_multibatch.py
diff options
context:
space:
mode:
authorVlad Buslov <vladbu@mellanox.com>2019-02-22 16:00:46 +0200
committerDavid S. Miller <davem@davemloft.net>2019-02-24 12:49:59 -0800
commitbe6b294dbd22c9dffc28a30f3ff1d4994c04f87d (patch)
treea2a6820c75c3408f1babf72505bcee57efa5f366 /tools/testing/selftests/tc-testing/tdc_multibatch.py
parentselftests: concurrency: add test to verify concurrent delete (diff)
downloadlinux-dev-be6b294dbd22c9dffc28a30f3ff1d4994c04f87d.tar.xz
linux-dev-be6b294dbd22c9dffc28a30f3ff1d4994c04f87d.zip
selftests: concurrency: add test to verify parallel add/delete
Implement test that runs 5 instances of tc add filter in parallel with 5 instances of tc del filter from same tp instance. Each instance uses its own filter handle and key range. Extend tdc_multibatch.py with additional options required to implement the test: common prefix for all generated batch files, first value of filter handle range, MAC address prefix modifier. These are necessary to allow creating batch files with unique keys and handle ranges with multiple invocation of tdc_multibatch.py helper script. Signed-off-by: Vlad Buslov <vladbu@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'tools/testing/selftests/tc-testing/tdc_multibatch.py')
-rwxr-xr-xtools/testing/selftests/tc-testing/tdc_multibatch.py26
1 files changed, 23 insertions, 3 deletions
diff --git a/tools/testing/selftests/tc-testing/tdc_multibatch.py b/tools/testing/selftests/tc-testing/tdc_multibatch.py
index 0d8be39b5580..5e7237952e49 100755
--- a/tools/testing/selftests/tc-testing/tdc_multibatch.py
+++ b/tools/testing/selftests/tc-testing/tdc_multibatch.py
@@ -22,24 +22,44 @@ parser.add_argument(
choices=['add', 'del', 'replace'],
help="operation to perform on filters")
parser.add_argument(
+ "-x",
+ "--file_prefix",
+ default="",
+ help="prefix for generated batch file names")
+parser.add_argument(
"-d",
"--duplicate_handles",
action="store_true",
help="duplicate filter handle range in all files")
+parser.add_argument(
+ "-a",
+ "--handle_start",
+ type=int,
+ default=1,
+ help="start handle range from (default: 1)")
+parser.add_argument(
+ "-m",
+ "--mac_prefix",
+ type=int,
+ default=0,
+ choices=range(0, 256),
+ help="add this value to third byte of source MAC address of flower filter"
+ "(default: 0)")
args = parser.parse_args()
device = args.device
dir = args.dir
-file_prefix = args.operation + "_"
+file_prefix = args.file_prefix + args.operation + "_"
num_filters = args.num_filters
num_files = args.num_files
operation = args.operation
duplicate_handles = args.duplicate_handles
-handle = 1
+handle = args.handle_start
+mac_prefix = args.mac_prefix
for i in range(num_files):
file = dir + '/' + file_prefix + str(i)
os.system("./tdc_batch.py -n {} -a {} -e {} -m {} {} {}".format(
- num_filters, handle, operation, i, device, file))
+ num_filters, handle, operation, i + mac_prefix, device, file))
if not duplicate_handles:
handle += num_filters