feat(tests): 6p3nic ip4 tests Signed-off-by: Peter Mikus <peter.mikus@protonmail.ch> Change-Id: I69ee305b25b9e05d2305cb82aba71ef6418780ab
feat(core): Multilink TRex Sync mode II Signed-off-by: Peter Mikus <peter.mikus@protonmail.ch> Change-Id: Idf4df372520d4a72c0738a89290d16710485f140
feat(MLRsearch): use goal result as in draft05 No effect on NDRPDR results, just different result packaging between the MLRsearch library and the rest of CSIT. - PyPI metadata still to be updated in a separate Change. Change-Id: I547134da189d1d7761594e92f36cc7c1c232ee32 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
feat(MLRseach): Update to v8 conditional throughput Hopefully, with CSIT config values, PDR lower than NDR will not happen. + Bump duration_sum default to an odd number, so users are not surprised by not seeing standard median behavior. For CSIT this should not matter, overheads hide ties and number of trials (at least for STL) should stay the same. Change-Id: Id7130f978c31e71227499612424007c473bcfac2 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
feat(MLRsearch): MLRsearch v7 Replaces MLRv2, suitable for "big bang" upgrade across CSIT. PyPI metadata updated only partially (full edits will come separately). Pylint wants less complexity, but the differences are only minor. + Use the same (new CSIT) defaults everywhere, also in Python library. + Update also PLRsearch to use the new result class. + Make upper bound optional in UTI. + Fix ASTF approximate duration detection. + Do not keep approximated_receive_rate (for MRR) in result structure. Change-Id: I03406f32d5c93f56b527cb3f93791b61955dfd74 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
feat(core): Multilink TRex ASTF Async mode Signed-off-by: Peter Mikus <peter.mikus@protonmail.ch> Change-Id: I9e4eac451578c0f6b86b1dde237512184c163def
feat(core): Multilink TRex Sync mode I. Signed-off-by: Peter Mikus <peter.mikus@protonmail.ch> Change-Id: I9f579385299e69e4d5679ed451ae0b4c30406733
fix(core): Multilink TRex Async mode Signed-off-by: pmikus <peter.mikus@protonmail.ch> Change-Id: I8635e5731260bf0daecf87c852bc2dfb867fe650
feat(core): Multilink TRex Async mode Signed-off-by: pmikus <peter.mikus@protonmail.ch> Change-Id: I02468203f3eb4545b6662bad2ce9aa72ecd5a5f6
feat(trex): Multilink Signed-off-by: Peter Mikus <peter.mikus@protonmail.ch> Change-Id: I36c5d175a34555ad9ce88d69a824f366b54dbc81
fix(core): TRex self loop tests Signed-off-by: pmikus <peter.mikus@protonmail.ch> Change-Id: I8945daffd500f689b3eb630f1ce7e1dc4f05aca8
feat(core): Multilink backend Signed-off-by: pmikus <peter.mikus@protonmail.ch> Change-Id: I8d168979ab9722e0056e97edb228f29cbfa245e3
fix(TrafficGenerator): correct tg_topology reverse Change-Id: Ibef272705ea889d58bb9c5b69a8566f6e38de1d1 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
refactor(trex): Startup configuration Signed-off-by: pmikus <peter.mikus@protonmail.ch> Change-Id: I16defefa5edd01638bc382be4f5e8cbca4fe9453
remove dpdk_nic_bind.py dependency dpdk_nic_bind.py from <trex>/scripts/ is out of date, often bumped into errors when using it to bind nic port, e.g. /usr/bin/python3 dpdk_nic_bind.py --bind=vfio-pci 0000:ca:00.0 /opt/trex-core-3.00/scripts/dpdk_nic_bind.py:40: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives from distutils.util import strtobool Error: bind failed for 0000:ca:00.0 - Cannot bind to driver vfio-pci so remove dpdk_nic_bind.py dependency in csit. Signed-off-by: Yulong Pei <yulong.pei@intel.com> Change-Id: I5a3f641cd77d339aa7a213f410ce2efe7c322b8a Signed-off-by: Yulong Pei <yulong.pei@intel.com>
fix(core): T-Rex initialization Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: I53226ff6a345ac99c1e2e110712b2ff6197efe95
fix(uti): Add TG type export - This is actually bug not a feature. - AB to be added later - Tested on TREX and iPerf3 Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: Ib6f2d13e3b9401a9fb5759e42a8a310ee11b9d41
feat(astf): Support framesizes for ASTF - No support for IMIX. + Fix a bad bug in padding (most ASTF profiles had wrong frame sizes). + Fix a big typo in TCP PPS profiles (s->c was not data, just RST). + Control transaction size via ASTF_N_DATA_FRAMES env variable. - Default value 5 leads to transactions smaller than before. + It ensures transaction is one burst (per direction) even for jumbo. + Edit autogen to set supported frame sizes based on suite id. + Both TCP and UDP use the same values: + 64B for CPS (exact for UDP, nominal for TCP). + 100B, 1518B and 9000B for TPUT and PPS. - TCP TPUT achievable minimum is 70B. + Used 100B to leave room for possible IPv6 ASTF tests. + Separate function for code reused by vpp and trex tests. - I do not really like the new "copy and edit" approach added here. + But it is a quick edit, better autogen refactor is low priority. + Consider both established and transitory sessions as valid. - Mostly for compatibility with 2202 behavior and to avoid ramp-ups. - Assuming both session states have similar enough VPP CPU overhead. + Added a TODO to investigate and maybe reconsider later. + Update the state timeout value to 240s. + That is the default for TCP (for transitory state). - UDP could keep using 300s. + But I prefer UDP and TCP to behave as similarly as possible. + Use TRex tunables to get the exact frame size (for data packets). - It is not clear why the recipe for MSS has to be this complicated. + Move code away from profile init, as frame size is not known there. + Change internal profile API, so values related to MSS are passed. + Lower ramp-up rate for TCP TPUT tests. + Because without lower rate, jumbo fails on packet loss in ramp-up. + UDP TPUT ramp-up rate also lowered (just to keep suites more similar). + Distinguish one-direction and aggregated average frame size. + Update keyword documentation where the distiction matters. + One-direction is needed for turning bandwidth limit to TPS limit. + Aggregated is needed for correct NDRPDR bandwidth result value. - TCP TPUT will always be few percent below bidirectional maximum. + That is unavoidable, as one direction sends more control packets. + Add runtime consistency checks so future refactors are safer. + Fail if padding requested would be negative. + Fail if suite claims unexpected values for packets per transaction. + Edit the 4 types of ASTF profiles to keep them similar to each other. + Move UDP TPUT limit value from a field back to direct argument. + Stop pretending first UDP packet is not data. + Apply small improvements where convenient. + Replace "aggregate" with "aggregated" where possible. + To lower probability of any future typos in variable names. + Avoid calling Set Numeric Frame Sizes twice. + Code formatting, keyword documentation, code comments, ... + Add TODOs for less important code quality improvements. - Postpone updating of methodology pages to a subsequent change. Change-Id: I4b381e5210e69669f972326202fdcc5a2c9c923b Signed-off-by: Vratko Polak <vrpolak@cisco.com>
MLRsearch: Increase timeout to 20 minutes There are sporadic failures due to timeout. An earlier edit changed how the timeout is applied (now it is for the whole search, previously it was for final phase only) so failures are not unexpected. Increasing timeout value from 12 minutes to 20 minutes (both for NDRPDR and for NDR part of RECONF) as the frequency shows it will not prolong runs much. The timeout is increased both in Robot call site and in Python keyword default argument. Change-Id: I3f07125ba9eeb90ce5819b1450044441b8b3977a Signed-off-by: Vratko Polak <vrpolak@cisco.com>
TrafficGenerator: Less logging of unsent When a trial has explicit stop instead of duration (e.g. for show run), the computation of unsent packets is wrong, so simply do not log the result. Change-Id: I7722c85b156f92e456eda212104abdb216e78b04 Signed-off-by: Vratko Polak <vrpolak@cisco.com>