<snip>
> +    def send_packet_and_verify(

Should this not be `send_packets_and_verify(` as the argument is
`packet_list`.

Yeah that would definitely make more sense, I'll change that in the next version.
 
<snip>
> +        isL4 = any(
> +            VerboseOLFlag.RTE_MBUF_F_RX_L4_CKSUM_GOOD in packet.ol_flags
> +            for index in verbose_output
> +            for packet in index.packets
> +        )

How does this filter out noise packets with valid checksums?

It really doesn't right now, I was considering using another verbose output parameter to verify the packet matches the one that is sent, but I hadn't included it yet since I wasn't sure which would be best. I feel as though either length or src_mac would be the easiest to use, but if you or anyone else has a better idea let me know and I'll incorporate it.
 

> +        isIP = any(
> +            VerboseOLFlag.RTE_MBUF_F_RX_IP_CKSUM_GOOD in packet.ol_flags
> +            for index in verbose_output
> +            for packet in index.packets
> +        )


I also noticed there was no implementation of IPv6/SCTP. Although the
old test suite did not include IPv6/SCTP, would it be worth adding it to
the new test suite?
It was included in the test plan, but never implemented for some reason.


I'm assuming you mean SCTP/IPv6 checksums, which I didn't see in any verbose output on any NIC I had access to so I just left it out. I was assuming that was the same reason they left it out of the old suite, as this included the i40e driver, and testpmd only ever displayed IP, L4, and outer checksums.