Hi Willem, Paolo,
Thank you for this series, that would be great to have the CI validating these packetdrill tests!
(Having the Netdev CI validating these packetdrill tests was part of my suggestions for the discussion we will have at NetConf :) )
On 28/08/2024 16:03, Willem de Bruijn wrote:
Paolo Abeni wrote:
Adding Mat(s) for awareness, it would be great (but difficult) to have mptcp too in the long run ;)
Thank you for having Cced me! Yes, MPTCP's packetdrill is still not ready for upstream :-/
But we could eventually have a runner on our side doing the validation of the MPTCP packetdrill tests.
On 8/27/24 21:32, Willem de Bruijn wrote:
From: Willem de Bruijn willemb@google.com
(...)
A single script is much simpler, optionally with nested KTAP (not supported yet by ksft). But, I'm afraid that running time without intermediate output will be very long when we integrate all packetdrill scripts.
If I read correctly, this runs the scripts in the given directory sequentially (as opposed to the default pktdrill run_all.py behavior that uses many concurrent threads).
I guess/fear that running all the pktdrill tests in a single batch would take quite a long time, which in turn could be not so good for CI integration. Currently there are a couple of CI test-cases with runtime
1h, but that is bad ;)
Very good point, thanks! This is the third packetdrill runner that I'm writing. I should know this by now.. Let me see whether I can use run_all.py rather than reinvent the wheel here.
If you use run_all.py, you might want to merge this PR:
https://github.com/google/packetdrill/pull/83
On MPTCP side, we run packetdrill using:
run_all.py -t ${TAP_DIR} -l -v -P $(($(nproc) * 2)) ${PKTD_DIR}
For our case, it is easier to generate the TAP output in a different directory, but I guess that could also be part of the standard output.
Also, if we have to limit the number of tests being executed in parallel with -P, to reduce the instabilities.
Cheers, Matt