diff options
author | Alexandre Poirrier <apoirrie@cisco.com> | 2019-05-07 10:43:41 +0200 |
---|---|---|
committer | Paul Vinciguerra <pvinci@vinciconsulting.com> | 2019-05-28 15:05:12 +0000 |
commit | a618e2082dfcda0aedba19b80e50e29667740602 (patch) | |
tree | 421c75f5d92596730ad930efe77b6ef0f927f8c2 /test/vpp_pg_interface.py | |
parent | 1197449cde8c2b9957ac5963149453689014b148 (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/vpp_pg_interface.py')
-rwxr-xr-x[-rw-r--r--] | test/vpp_pg_interface.py | 14 |
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" %\ |