summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorAlexandre Poirrier <apoirrie@cisco.com>2019-05-07 10:43:41 +0200
committerPaul Vinciguerra <pvinci@vinciconsulting.com>2019-05-28 15:05:12 +0000
commita618e2082dfcda0aedba19b80e50e29667740602 (patch)
tree421c75f5d92596730ad930efe77b6ef0f927f8c2 /test
parent1197449cde8c2b9957ac5963149453689014b148 (diff)
make test: add option in pg interfaces for duplicating packets
Change-Id: Ia6d6de5de0414291d5637fb4b8c1480925f646d3 Signed-off-by: Alexandre Poirrier <apoirrie@cisco.com>
Diffstat (limited to 'test')
-rwxr-xr-x[-rw-r--r--]test/vpp_pg_interface.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/test/vpp_pg_interface.py b/test/vpp_pg_interface.py
index 8792e6c3767..518798d17a3 100644..100755
--- a/test/vpp_pg_interface.py
+++ b/test/vpp_pg_interface.py
@@ -68,6 +68,8 @@ class VppPGInterface(VppInterface):
@property
def input_cli(self):
"""CLI string to load the injected packets"""
+ if self._nb_replays is not None:
+ return "%s limit %d" % (self._input_cli, self._nb_replays)
return self._input_cli
@property
@@ -105,9 +107,13 @@ class VppPGInterface(VppInterface):
self._input_cli = \
"packet-generator new pcap %s source pg%u name %s" % (
self.in_path, self.pg_index, self.cap_name)
+ self._nb_replays = None
def enable_capture(self):
- """ Enable capture on this packet-generator interface"""
+ """ Enable capture on this packet-generator interface
+ of at most n packets.
+ If n < 0, this is no limit
+ """
try:
if os.path.isfile(self.out_path):
name = "%s/history.[timestamp:%f].[%s-counter:%04d].%s" % \
@@ -125,13 +131,17 @@ class VppPGInterface(VppInterface):
self.test.vapi.cli(self.capture_cli)
self._pcap_reader = None
- def add_stream(self, pkts):
+ def disable_capture(self):
+ self.test.vapi.cli("%s disable" % self.capture_cli)
+
+ def add_stream(self, pkts, nb_replays=None):
"""
Add a stream of packets to this packet-generator
:param pkts: iterable packets
"""
+ self._nb_replays = nb_replays
try:
if os.path.isfile(self.in_path):
name = "%s/history.[timestamp:%f].[%s-counter:%04d].%s" %\