mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-05 01:54:09 +08:00
be6b294dbd
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>
66 lines
1.8 KiB
Python
Executable File
66 lines
1.8 KiB
Python
Executable File
#!/usr/bin/python3
|
|
# SPDX-License-Identifier: GPL-2.0
|
|
"""
|
|
tdc_multibatch.py - a thin wrapper over tdc_batch.py to generate multiple batch
|
|
files
|
|
|
|
Copyright (C) 2019 Vlad Buslov <vladbu@mellanox.com>
|
|
"""
|
|
|
|
import argparse
|
|
import os
|
|
|
|
parser = argparse.ArgumentParser(
|
|
description='TC multiple batch file generator')
|
|
parser.add_argument("device", help="device name")
|
|
parser.add_argument("dir", help="where to put batch files")
|
|
parser.add_argument(
|
|
"num_filters", type=int, help="how many lines per batch file")
|
|
parser.add_argument("num_files", type=int, help="how many batch files")
|
|
parser.add_argument(
|
|
"operation",
|
|
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.file_prefix + args.operation + "_"
|
|
num_filters = args.num_filters
|
|
num_files = args.num_files
|
|
operation = args.operation
|
|
duplicate_handles = args.duplicate_handles
|
|
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 + mac_prefix, device, file))
|
|
if not duplicate_handles:
|
|
handle += num_filters
|