| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- #!/usr/bin/env 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
|