[v1] dts: add send_packets to test_suite
Checks
Commit Message
From: Jeremy Spewock <jspewock@iol.unh.edu>
Currently the only methods provided in the test suite class for sending
packets capture the resulting received traffic after sending. There is,
in some cases, a need to send multiple packets at once while not really
needing to capture any of said received traffic. It is favorable to
avoid capturing received traffic when you don't need it since not all
traffic generators will necessarily be capturing traffic generators.
The method to fulfill this need exists in the traffic generator
already, but this patch exposes the method to test suites.
Depends-on: patch-144440 ("dts: rework packet addressing")
Signed-off-by: Jeremy Spewock <jspewock@iol.unh.edu>
---
dts/framework/test_suite.py | 12 ++++++++++++
dts/framework/testbed_model/tg_node.py | 9 +++++++++
2 files changed, 21 insertions(+)
Comments
On 25. 9. 2024 20:36, jspewock@iol.unh.edu wrote:
> From: Jeremy Spewock <jspewock@iol.unh.edu>
>
> Currently the only methods provided in the test suite class for sending
> packets capture the resulting received traffic after sending. There is,
> in some cases, a need to send multiple packets at once while not really
> needing to capture any of said received traffic. It is favorable to
> avoid capturing received traffic when you don't need it since not all
> traffic generators will necessarily be capturing traffic generators.
> The method to fulfill this need exists in the traffic generator
> already, but this patch exposes the method to test suites.
>
> Depends-on: patch-144440 ("dts: rework packet addressing")
This could be in the same series. I wanted this to be in a different
patch, but both patches could (and should) be in the same series.
>
> Signed-off-by: Jeremy Spewock <jspewock@iol.unh.edu>
> ---
The Depends-on: tag should be here, below the three hyphens. [0]
[0] https://doc.dpdk.org/guides/contributing/patches.html#patch-dependencies
Other than that,
Reviewed-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
Reviewed-by: Patrick Robb <probb@iol.unh.edu>
Recheck-request: iol-mellanox-Performance
When I enabled this test on Monday I accidentally set the delta threshold
to 1.5% instead of 5%. So the accepted results window was too small and led
to this false positive test fail.
On Thu, Sep 26, 2024 at 5:56 AM Juraj Linkeš <juraj.linkes@pantheon.tech> wrote:
>
>
>
> On 25. 9. 2024 20:36, jspewock@iol.unh.edu wrote:
> > From: Jeremy Spewock <jspewock@iol.unh.edu>
> >
> > Currently the only methods provided in the test suite class for sending
> > packets capture the resulting received traffic after sending. There is,
> > in some cases, a need to send multiple packets at once while not really
> > needing to capture any of said received traffic. It is favorable to
> > avoid capturing received traffic when you don't need it since not all
> > traffic generators will necessarily be capturing traffic generators.
> > The method to fulfill this need exists in the traffic generator
> > already, but this patch exposes the method to test suites.
> >
> > Depends-on: patch-144440 ("dts: rework packet addressing")
>
> This could be in the same series. I wanted this to be in a different
> patch, but both patches could (and should) be in the same series.
>
Oops, I just submitted a new version of the other series before seeing
this, I will add this back into that series and resubmit.
> >
> > Signed-off-by: Jeremy Spewock <jspewock@iol.unh.edu>
> > ---
>
> The Depends-on: tag should be here, below the three hyphens. [0]
>
> [0] https://doc.dpdk.org/guides/contributing/patches.html#patch-dependencies
>
Ack, sorry, I always forget this.
> Other than that,
> Reviewed-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
>
>
@@ -234,6 +234,18 @@ def send_packets_and_capture(
duration,
)
+ def send_packets(
+ self,
+ packets: list[Packet],
+ ) -> None:
+ """Send packets using the traffic generator and do not capture received traffic.
+
+ Args:
+ packets: Packets to send.
+ """
+ packets = self._adjust_addresses(packets)
+ self.tg_node.send_packets(packets, self._tg_port_egress)
+
def get_expected_packet(self, packet: Packet) -> Packet:
"""Inject the proper L2/L3 addresses into `packet`.
@@ -83,6 +83,15 @@ def send_packets_and_capture(
duration,
)
+ def send_packets(self, packets: list[Packet], port: Port):
+ """Send packets without capturing resulting received packets.
+
+ Args:
+ packets: Packets to send.
+ port: Port to send the packets on.
+ """
+ self.traffic_generator.send_packets(packets, port)
+
def close(self) -> None:
"""Free all resources used by the node.