[PATCH v4] dts: refactor flow suite with generator pattern

Patrick Robb probb at iol.unh.edu
Thu Mar 5 17:47:43 CET 2026


> -    @func_test
> -    def drop_action_IP(self) -> None:
> -        """Validate flow rules with drop actions and ethernet patterns.
> +                try:
> +                    verification_method = getattr(self, f"_verify_{test_case.verification_type}")
>
> -        Steps:
> -            * Create a list of packets to test, with a corresponding flow list.
> -            * Launch testpmd.
> -            * Create first flow rule in flow list.
> -            * Send first packet in packet list, capture verbose output.
> -            * Delete flow rule, repeat for all flows/packets.
> +                    if test_case.verification_type == "queue":
> +                        testpmd.set_verbose(level=8)
> +                        testpmd.start()
>
> -        Verify:
> -            * Packet is dropped.
> +                    verification_method(
> +                        packet=test_case.packet,
> +                        testpmd=testpmd,
> +                        **test_case.verification_params,
> +                    )

Is testpmd.start() only being called for queue tests, but not drop
tests? Do you need to pull the testpmd.start() outside of the "if
test_case.verification_type == "queue":" block?

>
> -        One packet will be sent as a confidence check, to ensure packets are being
> -        received under normal circumstances.
> -        """
> -        packet_list = [
> -            Ether() / IP(src="192.168.1.1") / Raw(load="xxxxx"),
> -            Ether() / IP(dst="192.168.1.1") / Raw(load="xxxxx"),
> -            Ether() / IP(ttl=64) / Raw(load="xxxxx"),
> -            Ether() / IPv6(src="2001:db8::1") / Raw(load="xxxxx"),
> -            Ether() / IPv6(dst="2001:db8::1") / Raw(load="xxxxx"),
> -            Ether() / IPv6() / UDP() / Raw(load="xxxxx"),
> -        ]


More information about the dev mailing list