Commit f940d704 authored by Paolo Abeni's avatar Paolo Abeni

Merge branch 'selftests-tc-testing-parallel-tdc'

Pedro Tammela says:

====================
selftests/tc-testing: parallel tdc

As the number of tdc tests is growing, so is our completion wall time.
One of the ideas to improve this is to run tests in parallel, as they
are self contained.

This series allows for tests to run in parallel, in batches of 32 tests.
Not all tests can run in parallel as they might conflict with each other.
The code will still honor this requirement even when trying to run the
tests over the worker pool.

In order to make this happen we had to localize the test resources
(patches 1 and 2), where instead of having all tests sharing one single
namespace and veths devices each test now gets it's own local namespace and devices.

Even though the tests serialize over rtnl_lock in the kernel, we
measured a speedup of about 3x in a test VM.
====================

Link: https://lore.kernel.org/r/20230919135404.1778595-1-pctammela@mojatatu.comSigned-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parents d387e34f d3fc4eea
......@@ -9,8 +9,7 @@ execute them inside a network namespace dedicated to the task.
REQUIREMENTS
------------
* Minimum Python version of 3.4. Earlier 3.X versions may work but are not
guaranteed.
* Minimum Python version of 3.8.
* The kernel must have network namespace support if using nsPlugin
......@@ -96,6 +95,15 @@ the stdout with a regular expression.
Each of the commands in any stage will run in a shell instance.
Each test is an atomic unit. A test that for whatever reason spans multiple test
definitions is a bug.
A test that runs inside a namespace (requires "nsPlugin") will run in parallel
with other tests.
Tests that use netdevsim or don't run inside a namespace run serially with regards
to each other.
USER-DEFINED CONSTANTS
----------------------
......@@ -116,59 +124,6 @@ COMMAND LINE ARGUMENTS
Run tdc.py -h to see the full list of available arguments.
usage: tdc.py [-h] [-p PATH] [-D DIR [DIR ...]] [-f FILE [FILE ...]]
[-c [CATG [CATG ...]]] [-e ID [ID ...]] [-l] [-s] [-i] [-v] [-N]
[-d DEVICE] [-P] [-n] [-V]
Linux TC unit tests
optional arguments:
-h, --help show this help message and exit
-p PATH, --path PATH The full path to the tc executable to use
-v, --verbose Show the commands that are being run
-N, --notap Suppress tap results for command under test
-d DEVICE, --device DEVICE
Execute test cases that use a physical device, where
DEVICE is its name. (If not defined, tests that require
a physical device will be skipped)
-P, --pause Pause execution just before post-suite stage
selection:
select which test cases: files plus directories; filtered by categories
plus testids
-D DIR [DIR ...], --directory DIR [DIR ...]
Collect tests from the specified directory(ies)
(default [tc-tests])
-f FILE [FILE ...], --file FILE [FILE ...]
Run tests from the specified file(s)
-c [CATG [CATG ...]], --category [CATG [CATG ...]]
Run tests only from the specified category/ies, or if
no category/ies is/are specified, list known
categories.
-e ID [ID ...], --execute ID [ID ...]
Execute the specified test cases with specified IDs
action:
select action to perform on selected test cases
-l, --list List all test cases, or those only within the
specified category
-s, --show Display the selected test cases
-i, --id Generate ID numbers for new test cases
netns:
options for nsPlugin (run commands in net namespace)
-N, --no-namespace
Do not run commands in a network namespace.
valgrind:
options for valgrindPlugin (run command under test under Valgrind)
-V, --valgrind Run commands under valgrind
PLUGIN ARCHITECTURE
-------------------
......
......@@ -5,10 +5,10 @@ class TdcPlugin:
super().__init__()
print(' -- {}.__init__'.format(self.sub_class))
def pre_suite(self, testcount, testidlist):
def pre_suite(self, testcount, testlist):
'''run commands before test_runner goes into a test loop'''
self.testcount = testcount
self.testidlist = testidlist
self.testlist = testlist
if self.args.verbose > 1:
print(' -- {}.pre_suite'.format(self.sub_class))
......
......@@ -59,7 +59,8 @@ class TestResult:
return self.steps
class TestSuiteReport():
_testsuite = []
def __init__(self):
self._testsuite = []
def add_resultdata(self, result_data):
if isinstance(result_data, TestResult):
......
......@@ -3,35 +3,96 @@ import signal
from string import Template
import subprocess
import time
from multiprocessing import Pool
from functools import cached_property
from TdcPlugin import TdcPlugin
from tdc_config import *
def prepare_suite(obj, test):
original = obj.args.NAMES
if 'skip' in test and test['skip'] == 'yes':
return
if 'nsPlugin' not in test['plugins']:
return
shadow = {}
shadow['IP'] = original['IP']
shadow['TC'] = original['TC']
shadow['NS'] = '{}-{}'.format(original['NS'], test['random'])
shadow['DEV0'] = '{}id{}'.format(original['DEV0'], test['id'])
shadow['DEV1'] = '{}id{}'.format(original['DEV1'], test['id'])
shadow['DUMMY'] = '{}id{}'.format(original['DUMMY'], test['id'])
shadow['DEV2'] = original['DEV2']
obj.args.NAMES = shadow
if obj.args.namespace:
obj._ns_create()
else:
obj._ports_create()
# Make sure the netns is visible in the fs
while True:
obj._proc_check()
try:
ns = obj.args.NAMES['NS']
f = open('/run/netns/{}'.format(ns))
f.close()
break
except:
time.sleep(0.1)
continue
obj.args.NAMES = original
class SubPlugin(TdcPlugin):
def __init__(self):
self.sub_class = 'ns/SubPlugin'
super().__init__()
def pre_suite(self, testcount, testidlist):
'''run commands before test_runner goes into a test loop'''
super().pre_suite(testcount, testidlist)
def pre_suite(self, testcount, testlist):
from itertools import cycle
if self.args.namespace:
self._ns_create()
else:
self._ports_create()
super().pre_suite(testcount, testlist)
def post_suite(self, index):
'''run commands after test_runner goes into a test loop'''
super().post_suite(index)
print("Setting up namespaces and devices...")
with Pool(self.args.mp) as p:
it = zip(cycle([self]), testlist)
p.starmap(prepare_suite, it)
def pre_case(self, caseinfo, test_skip):
if self.args.verbose:
print('{}.post_suite'.format(self.sub_class))
print('{}.pre_case'.format(self.sub_class))
if test_skip:
return
def post_case(self):
if self.args.verbose:
print('{}.post_case'.format(self.sub_class))
if self.args.namespace:
self._ns_destroy()
else:
self._ports_destroy()
def post_suite(self, index):
if self.args.verbose:
print('{}.post_suite'.format(self.sub_class))
# Make sure we don't leak resources
for f in os.listdir('/run/netns/'):
cmd = self._replace_keywords("$IP netns del {}".format(f))
if self.args.verbose > 3:
print('_exec_cmd: command "{}"'.format(cmd))
subprocess.run(cmd, shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
def add_args(self, parser):
super().add_args(parser)
self.argparser_group = self.argparser.add_argument_group(
......@@ -77,18 +138,43 @@ class SubPlugin(TdcPlugin):
print('adjust_command: return command [{}]'.format(command))
return command
def _ports_create(self):
cmd = '$IP link add $DEV0 type veth peer name $DEV1'
self._exec_cmd('pre', cmd)
cmd = '$IP link set $DEV0 up'
self._exec_cmd('pre', cmd)
def _ports_create_cmds(self):
cmds = []
cmds.append(self._replace_keywords('link add $DEV0 type veth peer name $DEV1'))
cmds.append(self._replace_keywords('link set $DEV0 up'))
cmds.append(self._replace_keywords('link add $DUMMY type dummy'))
if not self.args.namespace:
cmd = '$IP link set $DEV1 up'
self._exec_cmd('pre', cmd)
cmds.append(self._replace_keywords('link set $DEV1 up'))
return cmds
def _ports_create(self):
self._exec_cmd_batched('pre', self._ports_create_cmds())
def _ports_destroy_cmd(self):
return self._replace_keywords('link del $DEV0')
def _ports_destroy(self):
cmd = '$IP link del $DEV0'
self._exec_cmd('post', cmd)
self._exec_cmd('post', self._ports_destroy_cmd())
def _ns_create_cmds(self):
cmds = []
if self.args.namespace:
ns = self.args.NAMES['NS']
cmds.append(self._replace_keywords('netns add {}'.format(ns)))
cmds.append(self._replace_keywords('link set $DEV1 netns {}'.format(ns)))
cmds.append(self._replace_keywords('link set $DUMMY netns {}'.format(ns)))
cmds.append(self._replace_keywords('netns exec {} $IP link set $DEV1 up'.format(ns)))
cmds.append(self._replace_keywords('netns exec {} $IP link set $DUMMY up'.format(ns)))
if self.args.device:
cmds.append(self._replace_keywords('link set $DEV2 netns {}'.format(ns)))
cmds.append(self._replace_keywords('netns exec {} $IP link set $DEV2 up'.format(ns)))
return cmds
def _ns_create(self):
'''
......@@ -96,18 +182,10 @@ class SubPlugin(TdcPlugin):
the required network devices for it.
'''
self._ports_create()
if self.args.namespace:
cmd = '$IP netns add {}'.format(self.args.NAMES['NS'])
self._exec_cmd('pre', cmd)
cmd = '$IP link set $DEV1 netns {}'.format(self.args.NAMES['NS'])
self._exec_cmd('pre', cmd)
cmd = '$IP -n {} link set $DEV1 up'.format(self.args.NAMES['NS'])
self._exec_cmd('pre', cmd)
if self.args.device:
cmd = '$IP link set $DEV2 netns {}'.format(self.args.NAMES['NS'])
self._exec_cmd('pre', cmd)
cmd = '$IP -n {} link set $DEV2 up'.format(self.args.NAMES['NS'])
self._exec_cmd('pre', cmd)
self._exec_cmd_batched('pre', self._ns_create_cmds())
def _ns_destroy_cmd(self):
return self._replace_keywords('netns delete {}'.format(self.args.NAMES['NS']))
def _ns_destroy(self):
'''
......@@ -115,35 +193,49 @@ class SubPlugin(TdcPlugin):
devices as well)
'''
if self.args.namespace:
cmd = '$IP netns delete {}'.format(self.args.NAMES['NS'])
self._exec_cmd('post', cmd)
self._exec_cmd('post', self._ns_destroy_cmd())
self._ports_destroy()
@cached_property
def _proc(self):
ip = self._replace_keywords("$IP -b -")
proc = subprocess.Popen(ip,
shell=True,
stdin=subprocess.PIPE,
env=ENVIR)
return proc
def _proc_check(self):
proc = self._proc
proc.poll()
if proc.returncode is not None and proc.returncode != 0:
raise RuntimeError("iproute2 exited with an error code")
def _exec_cmd(self, stage, command):
'''
Perform any required modifications on an executable command, then run
it in a subprocess and return the results.
'''
if '$' in command:
command = self._replace_keywords(command)
self.adjust_command(stage, command)
if self.args.verbose:
if self.args.verbose > 3:
print('_exec_cmd: command "{}"'.format(command))
proc = subprocess.Popen(command,
shell=True,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
env=ENVIR)
(rawout, serr) = proc.communicate()
if proc.returncode != 0 and len(serr) > 0:
foutput = serr.decode("utf-8")
else:
foutput = rawout.decode("utf-8")
proc = self._proc
proc.stdin.write((command + '\n').encode())
proc.stdin.flush()
if self.args.verbose > 3:
print('_exec_cmd proc: {}'.format(proc))
self._proc_check()
proc.stdout.close()
proc.stderr.close()
return proc, foutput
def _exec_cmd_batched(self, stage, commands):
for cmd in commands:
self._exec_cmd(stage, cmd)
def _replace_keywords(self, cmd):
"""
......
......@@ -10,9 +10,9 @@ class SubPlugin(TdcPlugin):
self.sub_class = 'root/SubPlugin'
super().__init__()
def pre_suite(self, testcount, testidlist):
def pre_suite(self, testcount, testlist):
# run commands before test_runner goes into a test loop
super().pre_suite(testcount, testidlist)
super().pre_suite(testcount, testlist)
if os.geteuid():
print('This script must be run with root privileges', file=sys.stderr)
......
......@@ -25,9 +25,10 @@ class SubPlugin(TdcPlugin):
self._tsr = TestSuiteReport()
super().__init__()
def pre_suite(self, testcount, testidlist):
def pre_suite(self, testcount, testist):
'''run commands before test_runner goes into a test loop'''
super().pre_suite(testcount, testidlist)
self.testidlist = [tidx['id'] for tidx in testlist]
super().pre_suite(testcount, testlist)
if self.args.verbose > 1:
print('{}.pre_suite'.format(self.sub_class))
if self.args.valgrind:
......
......@@ -6,6 +6,9 @@
"actions",
"connmark"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action connmark",
......@@ -30,6 +33,9 @@
"actions",
"connmark"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action connmark",
......@@ -54,6 +60,9 @@
"actions",
"connmark"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action connmark",
......@@ -78,6 +87,9 @@
"actions",
"connmark"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action connmark",
......@@ -102,6 +114,9 @@
"actions",
"connmark"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action connmark",
......@@ -126,6 +141,9 @@
"actions",
"connmark"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action connmark",
......@@ -150,6 +168,9 @@
"actions",
"connmark"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action connmark",
......@@ -174,6 +195,9 @@
"actions",
"connmark"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action connmark",
......@@ -198,6 +222,9 @@
"actions",
"connmark"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action connmark",
......@@ -222,6 +249,9 @@
"actions",
"connmark"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action connmark",
......@@ -246,6 +276,9 @@
"actions",
"connmark"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action connmark",
......@@ -271,6 +304,9 @@
"actions",
"connmark"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action connmark",
......@@ -295,6 +331,9 @@
"actions",
"connmark"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action connmark",
......@@ -320,6 +359,9 @@
"actions",
"connmark"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action connmark",
......@@ -345,6 +387,9 @@
"actions",
"connmark"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action connmark",
......
......@@ -6,6 +6,9 @@
"actions",
"csum"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action csum",
......@@ -30,6 +33,9 @@
"actions",
"csum"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action csum",
......@@ -54,6 +60,9 @@
"actions",
"csum"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action csum",
......@@ -78,6 +87,9 @@
"actions",
"csum"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action csum",
......@@ -102,6 +114,9 @@
"actions",
"csum"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action csum",
......@@ -126,6 +141,9 @@
"actions",
"csum"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action csum",
......@@ -150,6 +168,9 @@
"actions",
"csum"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action csum",
......@@ -174,6 +195,9 @@
"actions",
"csum"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action csum",
......@@ -198,6 +222,9 @@
"actions",
"csum"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action csum",
......@@ -222,6 +249,9 @@
"actions",
"csum"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action csum",
......@@ -246,6 +276,9 @@
"actions",
"csum"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action csum",
......@@ -270,6 +303,9 @@
"actions",
"csum"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action csum",
......@@ -294,6 +330,9 @@
"actions",
"csum"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action csum",
......@@ -318,6 +357,9 @@
"actions",
"csum"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action csum",
......@@ -342,6 +384,9 @@
"actions",
"csum"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action csum",
......@@ -366,6 +411,9 @@
"actions",
"csum"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action csum",
......@@ -390,6 +438,9 @@
"actions",
"csum"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action csum",
......@@ -414,6 +465,9 @@
"actions",
"csum"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action csum",
......@@ -438,6 +492,9 @@
"actions",
"csum"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action csum",
......@@ -461,6 +518,9 @@
"actions",
"csum"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action csum",
......@@ -485,6 +545,9 @@
"actions",
"csum"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action csum",
......@@ -508,6 +571,9 @@
"actions",
"csum"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action csum",
......@@ -533,6 +599,9 @@
"actions",
"csum"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action csum",
......
......@@ -6,6 +6,9 @@
"actions",
"ct"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action ct",
......@@ -30,6 +33,9 @@
"actions",
"ct"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action ct",
......@@ -54,6 +60,9 @@
"actions",
"ct"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action ct",
......@@ -78,6 +87,9 @@
"actions",
"ct"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action ct",
......@@ -102,6 +114,9 @@
"actions",
"ct"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action ct",
......@@ -126,6 +141,9 @@
"actions",
"ct"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action ct",
......@@ -150,6 +168,9 @@
"actions",
"ct"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action ct",
......@@ -174,6 +195,9 @@
"actions",
"ct"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action ct",
......@@ -198,6 +222,9 @@
"actions",
"ct"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action ct",
......@@ -222,6 +249,9 @@
"actions",
"ct"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action ct",
......@@ -246,6 +276,9 @@
"actions",
"ct"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action ct",
......@@ -270,6 +303,9 @@
"actions",
"ct"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action ct",
......@@ -294,6 +330,9 @@
"actions",
"ct"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action ct",
......@@ -318,6 +357,9 @@
"actions",
"ct"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action ct",
......@@ -342,6 +384,9 @@
"actions",
"ct"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action ct",
......@@ -366,6 +411,9 @@
"actions",
"ct"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action ct",
......@@ -390,6 +438,9 @@
"actions",
"ct"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action ct",
......@@ -415,6 +466,9 @@
"ct",
"scapy"
],
"plugins": {
"requires": "nsPlugin"
},
"plugins": {
"requires": [
"nsPlugin",
......
......@@ -6,6 +6,9 @@
"actions",
"ctinfo"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC action flush action ctinfo",
......@@ -30,6 +33,9 @@
"actions",
"ctinfo"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action ctinfo",
......@@ -54,6 +60,9 @@
"actions",
"ctinfo"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC action flush action ctinfo",
......@@ -78,6 +87,9 @@
"actions",
"ctinfo"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC action flush action ctinfo",
......@@ -102,6 +114,9 @@
"actions",
"ctinfo"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action ctinfo",
......@@ -132,6 +147,9 @@
"actions",
"ctinfo"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action ctinfo",
......@@ -162,6 +180,9 @@
"actions",
"ctinfo"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action ctinfo",
......@@ -192,6 +213,9 @@
"actions",
"ctinfo"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC action flush action ctinfo",
......@@ -219,6 +243,9 @@
"actions",
"ctinfo"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action ctinfo",
......@@ -246,6 +273,9 @@
"actions",
"ctinfo"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action ctinfo",
......@@ -271,6 +301,9 @@
"actions",
"ctinfo"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action ctinfo",
......@@ -295,6 +328,9 @@
"actions",
"ctinfo"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action ctinfo",
......
......@@ -6,6 +6,9 @@
"actions",
"gact"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action gact",
......@@ -30,6 +33,9 @@
"actions",
"gact"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action gact",
......@@ -54,6 +60,9 @@
"actions",
"gact"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action gact",
......@@ -78,6 +87,9 @@
"actions",
"gact"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action gact",
......@@ -102,6 +114,9 @@
"actions",
"gact"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action gact",
......@@ -126,6 +141,9 @@
"actions",
"gact"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action gact",
......@@ -150,6 +168,9 @@
"actions",
"gact"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action gact",
......@@ -175,6 +196,9 @@
"actions",
"gact"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action gact",
......@@ -199,6 +223,9 @@
"actions",
"gact"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action gact",
......@@ -223,6 +250,9 @@
"actions",
"gact"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action gact",
......@@ -252,6 +282,9 @@
"actions",
"gact"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
"$TC actions add action reclassify index 101",
"$TC actions add action reclassify index 102",
......@@ -273,6 +306,9 @@
"actions",
"gact"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action gact",
......@@ -298,6 +334,9 @@
"actions",
"gact"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action gact",
......@@ -323,6 +362,9 @@
"actions",
"gact"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action gact",
......@@ -348,6 +390,9 @@
"actions",
"gact"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action gact",
......@@ -373,6 +418,9 @@
"actions",
"gact"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action gact",
......@@ -398,6 +446,9 @@
"actions",
"gact"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action gact",
......@@ -422,6 +473,9 @@
"actions",
"gact"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action gact",
......@@ -448,6 +502,9 @@
"actions",
"gact"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action gact",
......@@ -473,6 +530,9 @@
"actions",
"gact"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action gact",
......@@ -497,6 +557,9 @@
"actions",
"gact"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action gact",
......@@ -521,6 +584,9 @@
"actions",
"gact"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action gact",
......@@ -544,6 +610,9 @@
"actions",
"gact"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action gact",
......@@ -568,6 +637,9 @@
"actions",
"gact"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action gact",
......@@ -593,6 +665,9 @@
"actions",
"gact"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action gact",
......
......@@ -6,6 +6,9 @@
"actions",
"gate"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC action flush action gate",
......@@ -30,6 +33,9 @@
"actions",
"gate"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action gate",
......@@ -54,6 +60,9 @@
"actions",
"gate"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC action flush action gate",
......@@ -78,6 +87,9 @@
"actions",
"gate"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC action flush action gate",
......@@ -102,6 +114,9 @@
"actions",
"gate"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action gate",
......@@ -132,6 +147,9 @@
"actions",
"gate"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action gate",
......@@ -162,6 +180,9 @@
"actions",
"gate"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action gate",
......@@ -192,6 +213,9 @@
"actions",
"gate"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC action flush action gate",
......@@ -219,6 +243,9 @@
"actions",
"gate"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action gate",
......@@ -246,6 +273,9 @@
"actions",
"gate"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action gate",
......@@ -271,6 +301,9 @@
"actions",
"gate"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action gate",
......@@ -295,6 +328,9 @@
"actions",
"gate"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action gate",
......
......@@ -6,6 +6,9 @@
"actions",
"mirred"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action mirred",
......@@ -30,6 +33,9 @@
"actions",
"mirred"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action mirred",
......@@ -55,6 +61,9 @@
"actions",
"mirred"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action mirred",
......@@ -81,6 +90,9 @@
"actions",
"mirred"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action mirred",
......@@ -105,6 +117,9 @@
"actions",
"mirred"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action mirred",
......@@ -129,6 +144,9 @@
"actions",
"mirred"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action mirred",
......@@ -153,6 +171,9 @@
"actions",
"mirred"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action mirred",
......@@ -178,6 +199,9 @@
"actions",
"mirred"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action mirred",
......@@ -202,6 +226,9 @@
"actions",
"mirred"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action mirred",
......@@ -226,6 +253,9 @@
"actions",
"mirred"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action mirred",
......@@ -250,6 +280,9 @@
"actions",
"mirred"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action mirred",
......@@ -274,6 +307,9 @@
"actions",
"mirred"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action mirred",
......@@ -298,6 +334,9 @@
"actions",
"mirred"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action mirred",
......@@ -322,6 +361,9 @@
"actions",
"mirred"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action mirred",
......@@ -346,6 +388,9 @@
"actions",
"mirred"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action mirred",
......@@ -370,6 +415,9 @@
"actions",
"mirred"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action mirred",
......@@ -392,6 +440,9 @@
"actions",
"mirred"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action mirred",
......@@ -417,6 +468,9 @@
"actions",
"mirred"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action mirred",
......@@ -442,6 +496,9 @@
"actions",
"mirred"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action mirred",
......@@ -467,6 +524,9 @@
"actions",
"mirred"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action mirred",
......@@ -491,6 +551,9 @@
"actions",
"mirred"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action mirred",
......@@ -514,6 +577,9 @@
"actions",
"mirred"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action mirred",
......@@ -538,6 +604,9 @@
"actions",
"mirred"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action mirred",
......@@ -561,6 +630,9 @@
"actions",
"mirred"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action mirred",
......
......@@ -6,6 +6,9 @@
"actions",
"nat"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action nat",
......@@ -30,6 +33,9 @@
"actions",
"nat"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action nat",
......@@ -54,6 +60,9 @@
"actions",
"nat"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action nat",
......@@ -78,6 +87,9 @@
"actions",
"nat"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action nat",
......@@ -102,6 +114,9 @@
"actions",
"nat"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action nat",
......@@ -126,6 +141,9 @@
"actions",
"nat"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action nat",
......@@ -150,6 +168,9 @@
"actions",
"nat"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action nat",
......@@ -174,6 +195,9 @@
"actions",
"nat"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action nat",
......@@ -203,6 +227,9 @@
"actions",
"nat"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action nat",
......@@ -232,6 +259,9 @@
"actions",
"nat"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action nat",
......@@ -261,6 +291,9 @@
"actions",
"nat"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action nat",
......@@ -285,6 +318,9 @@
"actions",
"nat"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action nat",
......@@ -309,6 +345,9 @@
"actions",
"nat"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action nat",
......@@ -333,6 +372,9 @@
"actions",
"nat"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action nat",
......@@ -357,6 +399,9 @@
"actions",
"nat"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action nat",
......@@ -381,6 +426,9 @@
"actions",
"nat"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action nat",
......@@ -405,6 +453,9 @@
"actions",
"nat"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action nat",
......@@ -429,6 +480,9 @@
"actions",
"nat"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action nat",
......@@ -453,6 +507,9 @@
"actions",
"nat"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action nat",
......@@ -477,6 +534,9 @@
"actions",
"nat"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action nat",
......@@ -501,6 +561,9 @@
"actions",
"nat"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action nat",
......@@ -525,6 +588,9 @@
"actions",
"nat"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action nat",
......@@ -549,6 +615,9 @@
"actions",
"nat"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action nat",
......@@ -573,6 +642,9 @@
"actions",
"nat"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action nat",
......@@ -597,6 +669,9 @@
"actions",
"nat"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action nat",
......@@ -622,6 +697,9 @@
"actions",
"nat"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action nat",
......@@ -647,6 +725,9 @@
"actions",
"nat"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action nat",
......
......@@ -6,6 +6,9 @@
"actions",
"police"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action police",
......@@ -30,6 +33,9 @@
"actions",
"police"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action police",
......@@ -55,6 +61,9 @@
"actions",
"police"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action police",
......@@ -79,6 +88,9 @@
"actions",
"police"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action police",
......@@ -103,6 +115,9 @@
"actions",
"police"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action police",
......@@ -127,6 +142,9 @@
"actions",
"police"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action police",
......@@ -151,6 +169,9 @@
"actions",
"police"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action police",
......@@ -175,6 +196,9 @@
"actions",
"police"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action police",
......@@ -199,6 +223,9 @@
"actions",
"police"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action police",
......@@ -223,6 +250,9 @@
"actions",
"police"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action police",
......@@ -247,6 +277,9 @@
"actions",
"police"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action police",
......@@ -271,6 +304,9 @@
"actions",
"police"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action police",
......@@ -295,6 +331,9 @@
"actions",
"police"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action police",
......@@ -319,6 +358,9 @@
"actions",
"police"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action police",
......@@ -343,6 +385,9 @@
"actions",
"police"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action police",
......@@ -367,6 +412,9 @@
"actions",
"police"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action police",
......@@ -391,6 +439,9 @@
"actions",
"police"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action police",
......@@ -415,6 +466,9 @@
"actions",
"police"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action police",
......@@ -439,6 +493,9 @@
"actions",
"police"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action police",
......@@ -463,6 +520,9 @@
"actions",
"police"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action police",
......@@ -488,6 +548,9 @@
"actions",
"police"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action police",
......@@ -520,6 +583,9 @@
"actions",
"police"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action police",
......@@ -545,6 +611,9 @@
"actions",
"police"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action police",
......@@ -577,6 +646,9 @@
"actions",
"police"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
"$TC actions add action police rate 1mbit burst 100k index 1",
"$TC actions add action police rate 2mbit burst 200k index 2",
......@@ -603,6 +675,9 @@
"actions",
"police"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action police",
......@@ -627,6 +702,9 @@
"actions",
"police"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action police",
......@@ -651,6 +729,9 @@
"actions",
"police"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action police",
......@@ -675,6 +756,9 @@
"actions",
"police"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action police",
......@@ -699,6 +783,9 @@
"actions",
"police"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action police",
......@@ -723,6 +810,9 @@
"actions",
"police"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action police",
......@@ -747,6 +837,9 @@
"actions",
"police"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action police",
......@@ -772,6 +865,9 @@
"actions",
"police"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action police",
......@@ -796,6 +892,9 @@
"actions",
"police"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action police",
......@@ -820,6 +919,9 @@
"actions",
"police"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action police",
......
......@@ -6,6 +6,9 @@
"actions",
"sample"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action sample",
......@@ -30,6 +33,9 @@
"actions",
"sample"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action sample",
......@@ -54,6 +60,9 @@
"actions",
"sample"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action sample",
......@@ -78,6 +87,9 @@
"actions",
"sample"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action sample",
......@@ -102,6 +114,9 @@
"actions",
"sample"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action sample",
......@@ -126,6 +141,9 @@
"actions",
"sample"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action sample",
......@@ -150,6 +168,9 @@
"actions",
"sample"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action sample",
......@@ -174,6 +195,9 @@
"actions",
"sample"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action sample",
......@@ -196,6 +220,9 @@
"actions",
"sample"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action sample",
......@@ -218,6 +245,9 @@
"actions",
"sample"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action sample",
......@@ -240,6 +270,9 @@
"actions",
"sample"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action sample",
......@@ -262,6 +295,9 @@
"actions",
"sample"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action sample",
......@@ -284,6 +320,9 @@
"actions",
"sample"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action sample",
......@@ -308,6 +347,9 @@
"actions",
"sample"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action sample",
......@@ -332,6 +374,9 @@
"actions",
"sample"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action sample",
......@@ -356,6 +401,9 @@
"actions",
"sample"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action sample",
......@@ -380,6 +428,9 @@
"actions",
"sample"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action sample",
......@@ -402,6 +453,9 @@
"actions",
"sample"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action sample",
......@@ -424,6 +478,9 @@
"actions",
"sample"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action sample",
......@@ -446,6 +503,9 @@
"actions",
"sample"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action sample",
......@@ -468,6 +528,9 @@
"actions",
"sample"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action sample",
......@@ -492,6 +555,9 @@
"actions",
"sample"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action sample",
......@@ -516,6 +582,9 @@
"actions",
"sample"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action sample",
......@@ -541,6 +610,9 @@
"actions",
"sample"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action sample",
......@@ -566,6 +638,9 @@
"actions",
"sample"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action sample",
......@@ -591,6 +666,9 @@
"actions",
"sample"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action sample",
......@@ -616,6 +694,9 @@
"actions",
"sample"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action sample",
......@@ -641,6 +722,9 @@
"actions",
"sample"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action sample",
......@@ -666,6 +750,9 @@
"actions",
"sample"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action sample",
......
......@@ -6,6 +6,9 @@
"actions",
"simple"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action simple",
......@@ -30,6 +33,9 @@
"actions",
"simple"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action simple",
......@@ -54,6 +60,9 @@
"actions",
"simple"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action simple",
......@@ -79,6 +88,9 @@
"actions",
"simple"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action simple",
......@@ -106,6 +118,9 @@
"actions",
"simple"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action simple",
......@@ -131,6 +146,9 @@
"actions",
"simple"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action simple",
......@@ -158,6 +176,9 @@
"actions",
"simple"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action simple",
......@@ -183,6 +204,9 @@
"actions",
"simple"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action simple",
......@@ -213,6 +237,9 @@
"actions",
"simple"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action simple",
......
......@@ -6,6 +6,9 @@
"actions",
"skbedit"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbedit",
......@@ -30,6 +33,9 @@
"actions",
"skbedit"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbedit",
......@@ -54,6 +60,9 @@
"actions",
"skbedit"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbedit",
......@@ -76,6 +85,9 @@
"actions",
"skbedit"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbedit",
......@@ -100,6 +112,9 @@
"actions",
"skbedit"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbedit",
......@@ -124,6 +139,9 @@
"actions",
"skbedit"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbedit",
......@@ -146,6 +164,9 @@
"actions",
"skbedit"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbedit",
......@@ -168,6 +189,9 @@
"actions",
"skbedit"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbedit",
......@@ -193,6 +217,9 @@
"actions",
"skbedit"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbedit",
......@@ -217,6 +244,9 @@
"actions",
"skbedit"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbedit",
......@@ -241,6 +271,9 @@
"actions",
"skbedit"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbedit",
......@@ -265,6 +298,9 @@
"actions",
"skbedit"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbedit",
......@@ -289,6 +325,9 @@
"actions",
"skbedit"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbedit",
......@@ -313,6 +352,9 @@
"actions",
"skbedit"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbedit",
......@@ -337,6 +379,9 @@
"actions",
"skbedit"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbedit",
......@@ -361,6 +406,9 @@
"actions",
"skbedit"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbedit",
......@@ -385,6 +433,9 @@
"actions",
"skbedit"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbedit",
......@@ -409,6 +460,9 @@
"actions",
"skbedit"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbedit",
......@@ -433,6 +487,9 @@
"actions",
"skbedit"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbedit",
......@@ -457,6 +514,9 @@
"actions",
"skbedit"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbedit",
......@@ -481,6 +541,9 @@
"actions",
"skbedit"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbedit",
......@@ -505,6 +568,9 @@
"actions",
"skbedit"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbedit",
......@@ -529,6 +595,9 @@
"actions",
"skbedit"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbedit",
......@@ -557,6 +626,9 @@
"actions",
"skbedit"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbedit",
......@@ -581,6 +653,9 @@
"actions",
"skbedit"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbedit",
......@@ -603,6 +678,9 @@
"actions",
"skbedit"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbedit",
......@@ -628,6 +706,9 @@
"actions",
"skbedit"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
"$TC actions add action skbedit mark 500",
"$TC actions add action skbedit mark 501",
......@@ -653,6 +734,9 @@
"actions",
"skbedit"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbedit",
......@@ -678,6 +762,9 @@
"actions",
"skbedit"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbedit",
......@@ -702,6 +789,9 @@
"actions",
"skbedit"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbedit",
......
......@@ -6,6 +6,9 @@
"actions",
"skbmod"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbmod",
......@@ -30,6 +33,9 @@
"actions",
"skbmod"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbmod",
......@@ -54,6 +60,9 @@
"actions",
"skbmod"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbmod",
......@@ -78,6 +87,9 @@
"actions",
"skbmod"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbmod",
......@@ -102,6 +114,9 @@
"actions",
"skbmod"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbmod",
......@@ -126,6 +141,9 @@
"actions",
"skbmod"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbmod",
......@@ -150,6 +168,9 @@
"actions",
"skbmod"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbmod",
......@@ -174,6 +195,9 @@
"actions",
"skbmod"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbmod",
......@@ -198,6 +222,9 @@
"actions",
"skbmod"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbmod",
......@@ -222,6 +249,9 @@
"actions",
"skbmod"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbmod",
......@@ -246,6 +276,9 @@
"actions",
"skbmod"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbmod",
......@@ -270,6 +303,9 @@
"actions",
"skbmod"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbmod",
......@@ -294,6 +330,9 @@
"actions",
"skbmod"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbmod",
......@@ -323,6 +362,9 @@
"actions",
"skbmod"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbmod",
......@@ -352,6 +394,9 @@
"actions",
"skbmod"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbmod",
......@@ -377,6 +422,9 @@
"actions",
"skbmod"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
"$TC actions add action skbmod set etype 0x0001",
"$TC actions add action skbmod set etype 0x0011",
......@@ -400,6 +448,9 @@
"actions",
"skbmod"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbmod",
......@@ -425,6 +476,9 @@
"actions",
"skbmod"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action skbmod",
......
......@@ -6,6 +6,9 @@
"actions",
"tunnel_key"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action tunnel_key",
......@@ -30,6 +33,9 @@
"actions",
"tunnel_key"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action tunnel_key",
......@@ -59,6 +65,9 @@
"actions",
"tunnel_key"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action tunnel_key",
......@@ -88,6 +97,9 @@
"actions",
"tunnel_key"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action tunnel_key",
......@@ -117,6 +129,9 @@
"actions",
"tunnel_key"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action tunnel_key",
......@@ -146,6 +161,9 @@
"actions",
"tunnel_key"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action tunnel_key",
......@@ -175,6 +193,9 @@
"actions",
"tunnel_key"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action tunnel_key",
......@@ -204,6 +225,9 @@
"actions",
"tunnel_key"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action tunnel_key",
......@@ -228,6 +252,9 @@
"actions",
"tunnel_key"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action tunnel_key",
......@@ -252,6 +279,9 @@
"actions",
"tunnel_key"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action tunnel_key",
......@@ -281,6 +311,9 @@
"actions",
"tunnel_key"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action tunnel_key",
......@@ -305,6 +338,9 @@
"actions",
"tunnel_key"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action tunnel_key",
......@@ -334,6 +370,9 @@
"actions",
"tunnel_key"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action tunnel_key",
......@@ -358,6 +397,9 @@
"actions",
"tunnel_key"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action tunnel_key",
......@@ -387,6 +429,9 @@
"actions",
"tunnel_key"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action tunnel_key",
......@@ -411,6 +456,9 @@
"actions",
"tunnel_key"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action tunnel_key",
......@@ -435,6 +483,9 @@
"actions",
"tunnel_key"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action tunnel_key",
......@@ -459,6 +510,9 @@
"actions",
"tunnel_key"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action tunnel_key",
......@@ -488,6 +542,9 @@
"actions",
"tunnel_key"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action tunnel_key",
......@@ -517,6 +574,9 @@
"actions",
"tunnel_key"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action tunnel_key",
......@@ -541,6 +601,9 @@
"actions",
"tunnel_key"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action tunnel_key",
......@@ -565,6 +628,9 @@
"actions",
"tunnel_key"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action tunnel_key",
......@@ -594,6 +660,9 @@
"actions",
"tunnel_key"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action tunnel_key",
......@@ -618,6 +687,9 @@
"actions",
"tunnel_key"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action tunnel_key",
......@@ -642,6 +714,9 @@
"actions",
"tunnel_key"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action tunnel_key",
......@@ -666,6 +741,9 @@
"actions",
"tunnel_key"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action tunnel_key",
......@@ -690,6 +768,9 @@
"actions",
"tunnel_key"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action tunnel_key",
......@@ -714,6 +795,9 @@
"actions",
"tunnel_key"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action tunnel_key",
......@@ -738,6 +822,9 @@
"actions",
"tunnel_key"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action tunnel_key",
......@@ -762,6 +849,9 @@
"actions",
"tunnel_key"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action tunnel_key",
......@@ -786,6 +876,9 @@
"actions",
"tunnel_key"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action tunnel_key",
......@@ -811,6 +904,9 @@
"actions",
"tunnel_key"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action tunnel_key",
......@@ -836,6 +932,9 @@
"actions",
"tunnel_key"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action tunnel_key",
......@@ -864,6 +963,9 @@
"actions",
"tunnel_key"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action tunnel_key",
......@@ -892,6 +994,9 @@
"actions",
"tunnel_key"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action tunnel_key",
......@@ -917,6 +1022,9 @@
"actions",
"tunnel_key"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action tunnel_key",
......@@ -941,6 +1049,9 @@
"actions",
"tunnel_key"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action tunnel_key",
......@@ -966,6 +1077,9 @@
"actions",
"tunnel_key"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action tunnel_key",
......@@ -991,6 +1105,9 @@
"actions",
"tunnel_key"
],
"plugins": {
"requires": "nsPlugin"
},
"dependsOn": "$TC actions add action tunnel_key help 2>&1 | grep -q nofrag",
"setup": [
[
......
......@@ -6,6 +6,9 @@
"actions",
"xt"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action xt",
......@@ -30,6 +33,9 @@
"actions",
"xt"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action xt",
......@@ -60,6 +66,9 @@
"actions",
"xt"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action xt",
......@@ -90,6 +99,9 @@
"actions",
"xt"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action xt",
......@@ -120,6 +132,9 @@
"actions",
"xt"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC action flush action xt",
......@@ -147,6 +162,9 @@
"actions",
"xt"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action xt",
......@@ -174,6 +192,9 @@
"actions",
"xt"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action xt",
......@@ -199,6 +220,9 @@
"actions",
"xt"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
[
"$TC actions flush action xt",
......
......@@ -51,7 +51,10 @@
"bpf-filter"
],
"plugins": {
"requires": "buildebpfPlugin"
"requires": [
"buildebpfPlugin",
"nsPlugin"
]
},
"setup": [
"$TC qdisc add dev $DEV1 ingress"
......@@ -73,7 +76,10 @@
"bpf-filter"
],
"plugins": {
"requires": "buildebpfPlugin"
"requires": [
"buildebpfPlugin",
"nsPlugin"
]
},
"setup": [
"$TC qdisc add dev $DEV1 ingress"
......
[
{
"id": "c2b4",
"name": "soft lockup alarm will be not generated after delete the prio 0 filter of the chain",
"name": "Soft lockup alarm will be not generated after delete the prio 0 filter of the chain",
"category": [
"filter",
"chain"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
"$IP link add dev $DUMMY type dummy || /bin/true",
"$TC qdisc add dev $DUMMY root handle 1: htb default 1",
"$TC chain add dev $DUMMY",
"$TC filter del dev $DUMMY chain 0 parent 1: prio 0"
......@@ -18,8 +20,7 @@
"matchPattern": "chain parent 1: chain 0",
"matchCount": "1",
"teardown": [
"$TC qdisc del dev $DUMMY root handle 1: htb default 1",
"$IP link del dev $DUMMY type dummy"
"$TC qdisc del dev $DUMMY root handle 1: htb default 1"
]
}
]
......@@ -10,7 +10,6 @@
"requires": "nsPlugin"
},
"setup": [
"$IP link add dev $DUMMY type dummy || /bin/true"
],
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root cbs",
"expExitCode": "0",
......@@ -18,8 +17,7 @@
"matchPattern": "qdisc cbs 1: root refcnt [0-9]+ hicredit 0 locredit 0 sendslope 0 idleslope 0 offload 0.*qdisc pfifo 0: parent 1: limit 1000p",
"matchCount": "1",
"teardown": [
"$TC qdisc del dev $DUMMY handle 1: root",
"$IP link del dev $DUMMY type dummy"
"$TC qdisc del dev $DUMMY handle 1: root"
]
},
{
......@@ -33,7 +31,6 @@
"requires": "nsPlugin"
},
"setup": [
"$IP link add dev $DUMMY type dummy || /bin/true"
],
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root cbs hicredit 64",
"expExitCode": "0",
......@@ -41,8 +38,7 @@
"matchPattern": "qdisc cbs 1: root refcnt [0-9]+ hicredit 64 locredit 0 sendslope 0 idleslope 0 offload 0.*qdisc pfifo 0: parent 1: limit 1000p",
"matchCount": "1",
"teardown": [
"$TC qdisc del dev $DUMMY handle 1: root",
"$IP link del dev $DUMMY type dummy"
"$TC qdisc del dev $DUMMY handle 1: root"
]
},
{
......@@ -56,7 +52,6 @@
"requires": "nsPlugin"
},
"setup": [
"$IP link add dev $DUMMY type dummy || /bin/true"
],
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root cbs locredit 10",
"expExitCode": "0",
......@@ -64,8 +59,7 @@
"matchPattern": "qdisc cbs 1: root refcnt [0-9]+ hicredit 0 locredit 10 sendslope 0 idleslope 0 offload 0.*qdisc pfifo 0: parent 1: limit 1000p",
"matchCount": "1",
"teardown": [
"$TC qdisc del dev $DUMMY handle 1: root",
"$IP link del dev $DUMMY type dummy"
"$TC qdisc del dev $DUMMY handle 1: root"
]
},
{
......@@ -79,7 +73,6 @@
"requires": "nsPlugin"
},
"setup": [
"$IP link add dev $DUMMY type dummy || /bin/true"
],
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root cbs sendslope 888",
"expExitCode": "0",
......@@ -87,8 +80,7 @@
"matchPattern": "qdisc cbs 1: root refcnt [0-9]+ hicredit 0 locredit 0 sendslope 888 idleslope 0 offload 0.*qdisc pfifo 0: parent 1: limit 1000p",
"matchCount": "1",
"teardown": [
"$TC qdisc del dev $DUMMY handle 1: root",
"$IP link del dev $DUMMY type dummy"
"$TC qdisc del dev $DUMMY handle 1: root"
]
},
{
......@@ -102,7 +94,6 @@
"requires": "nsPlugin"
},
"setup": [
"$IP link add dev $DUMMY type dummy || /bin/true"
],
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root cbs idleslope 666",
"expExitCode": "0",
......@@ -110,8 +101,7 @@
"matchPattern": "qdisc cbs 1: root refcnt [0-9]+ hicredit 0 locredit 0 sendslope 0 idleslope 666 offload 0.*qdisc pfifo 0: parent 1: limit 1000p",
"matchCount": "1",
"teardown": [
"$TC qdisc del dev $DUMMY handle 1: root",
"$IP link del dev $DUMMY type dummy"
"$TC qdisc del dev $DUMMY handle 1: root"
]
},
{
......@@ -125,7 +115,6 @@
"requires": "nsPlugin"
},
"setup": [
"$IP link add dev $DUMMY type dummy || /bin/true"
],
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root cbs hicredit 10 locredit 75 sendslope 2 idleslope 666",
"expExitCode": "0",
......@@ -133,8 +122,7 @@
"matchPattern": "qdisc cbs 1: root refcnt [0-9]+ hicredit 10 locredit 75 sendslope 2 idleslope 666 offload 0.*qdisc pfifo 0: parent 1: limit 1000p",
"matchCount": "1",
"teardown": [
"$TC qdisc del dev $DUMMY handle 1: root",
"$IP link del dev $DUMMY type dummy"
"$TC qdisc del dev $DUMMY handle 1: root"
]
},
{
......@@ -148,7 +136,6 @@
"requires": "nsPlugin"
},
"setup": [
"$IP link add dev $DUMMY type dummy || /bin/true",
"$TC qdisc add dev $DUMMY handle 1: root cbs idleslope 666"
],
"cmdUnderTest": "$TC qdisc replace dev $DUMMY handle 1: root cbs sendslope 10",
......@@ -157,8 +144,7 @@
"matchPattern": "qdisc cbs 1: root refcnt [0-9]+ hicredit 0 locredit 0 sendslope 10 idleslope 0 offload 0.*qdisc pfifo 0: parent 1: limit 1000p",
"matchCount": "1",
"teardown": [
"$TC qdisc del dev $DUMMY handle 1: root",
"$IP link del dev $DUMMY type dummy"
"$TC qdisc del dev $DUMMY handle 1: root"
]
},
{
......@@ -172,7 +158,6 @@
"requires": "nsPlugin"
},
"setup": [
"$IP link add dev $DUMMY type dummy || /bin/true",
"$TC qdisc add dev $DUMMY handle 1: root cbs idleslope 666"
],
"cmdUnderTest": "$TC qdisc change dev $DUMMY handle 1: root cbs idleslope 1",
......@@ -181,8 +166,7 @@
"matchPattern": "qdisc cbs 1: root refcnt [0-9]+ hicredit 0 locredit 0 sendslope 0 idleslope 1 offload 0.*qdisc pfifo 0: parent 1: limit 1000p",
"matchCount": "1",
"teardown": [
"$TC qdisc del dev $DUMMY handle 1: root",
"$IP link del dev $DUMMY type dummy"
"$TC qdisc del dev $DUMMY handle 1: root"
]
},
{
......@@ -196,7 +180,6 @@
"requires": "nsPlugin"
},
"setup": [
"$IP link add dev $DUMMY type dummy || /bin/true",
"$TC qdisc add dev $DUMMY handle 1: root cbs idleslope 666"
],
"cmdUnderTest": "$TC qdisc del dev $DUMMY handle 1: root",
......@@ -205,7 +188,6 @@
"matchPattern": "qdisc cbs 1: root refcnt [0-9]+ hicredit 0 locredit 0 sendslope 0 idleslope 1 offload 0.*qdisc pfifo 0: parent 1: limit 1000p",
"matchCount": "0",
"teardown": [
"$IP link del dev $DUMMY type dummy"
]
},
{
......@@ -219,7 +201,6 @@
"requires": "nsPlugin"
},
"setup": [
"$IP link add dev $DUMMY type dummy || /bin/true"
],
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root cbs",
"expExitCode": "0",
......@@ -227,8 +208,7 @@
"matchPattern": "class cbs 1:[0-9]+ parent 1:",
"matchCount": "1",
"teardown": [
"$TC qdisc del dev $DUMMY handle 1: root",
"$IP link del dev $DUMMY type dummy"
"$TC qdisc del dev $DUMMY handle 1: root"
]
}
]
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment