The following is a rough design for the implementation of the jumbo frames test suite in new DTS. The test suite uses the same testing methodology from the test suite implementation in old DTS. In doing so, much of the logic in this implementation has been stripped away for the sake of maintaining an OS-agnostic design philosopgy. Thus, there are some concerns here that need further discussion.
All test cases behave accordingly on lab hardware. However, issues with the testpmd shell, all of which will be fixed with the upcoming context manager, prevent the test suite from functioning properly if all test cases are run sequentially. Thus, for testing, each test case needs to be run individually. So, expect issues if attempting to test. Old DTS implements some basic logic that detects 1GB NICs, specifically when testing jumbo frame packets greater than the specified MTU length. This is because, according to a commit message from 2016, 1GB NICs will automatically adjust their size to +4 bytes, meaning that when setting an MTU of 9000, testpmd adjust the MTU size to 9004. To compensate, some logic was inserted in the old suite to adjust packet sizes accordingly. Given that Juraj's capabilities patch is in development, it would be possible to set a restriction on this test suite to remove the support of 1GB NICs, which could be determined from testpmd outputs; it could also be possible that this problem is entirely null and void today, essentially allowing us to forget about it. The current implementation is not developed with both the capabilities patch and the params patch in mind; however, the current design can and will be refactored to do so. Nicholas Pratte (1): Initial Implementation For Jumbo Frames Test Suite dts/framework/config/conf_yaml_schema.json | 3 +- dts/tests/TestSuite_jumboframes.py | 210 +++++++++++++++++++++ 2 files changed, 212 insertions(+), 1 deletion(-) create mode 100644 dts/tests/TestSuite_jumboframes.py -- 2.44.0