Age | Commit message (Collapse) | Author | Files | Lines |
|
Signed-off-by: Peter Mikus <pmikus@cisco.com>
Change-Id: I60313cd62a878bb713832f14121a938a81c954ed
(cherry picked from commit 14b538d836f6a3562cf8df506bc09a53ec0ca950)
|
|
- 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
|
|
The implementation of GTPU offload rx is to use ip4_gtpu flow MARK action
of NIC and vpp flow REDIRECT_TO_NODE and BUFFER_ADVANCE fuction to direct
received gtpu flow to gtpu4-flow-input graph node, skipped ethernet-input,
ip4-input, ip4-lookup, ip4-local, ip4-udp-lookup normal graph node
processing.
Verified on 3n-clx and Intel E810 NIC environment, single core with 64B packet,
performance improve ~33% that compare with pure software way.
Signed-off-by: xinfeng zhao <xinfengx.zhao@intel.com>
Signed-off-by: Yulong Pei <yulong.pei@intel.com>
Change-Id: I2af4589448bdb1729e4ce206a8cf3a1239c61af8
Signed-off-by: Yulong Pei <yulong.pei@intel.com>
|
|
- 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>
|
|
Signed-off-by: Peter Mikus <pmikus@cisco.com>
Change-Id: I2829b5931e5a63a33f524e1d14ffb20c27f4ce5a
|
|
This reverts commit 22bfd741614145d86751df2d61ff77af9db63627.
Reason for revert: OMFG this patch is causing 90% perf degradation on AWS
Change-Id: Id081f61ae849678b6b877fbf03309c4b1b0c6df6
Signed-off-by: Peter Mikus <pmikus@cisco.com>
|
|
- Robot framework logs contain 'show pci' output from VPP
that is truncated due to the VPP cli pager. Add UNIX cli-no-pager
configuration to the default startup config to fix this issue.
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I80f2cd045063245098f22eb638a9796c5031fecf
|
|
Signed-off-by: Peter Mikus <pmikus@cisco.com>
Change-Id: I8af9bae81ec83a3195ae83febd978882ebc2474d
|
|
+ Unify the order of interfaces, along 0-->1 path.
Ticket: CSIT-1806
Fixes: 14a71b74b414df7616ccb5ada3d50ecb90d96bae
Change-Id: Ia20d05b4e16daf60260fcbaea806406fa654a94e
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
Change-Id: Ic1949c46aa339e66a47a0ebbc428499c5cf9305e
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
The previous code leads to warnings from Robot.
Change-Id: I323f2abb277ae26d43ee5540a3b21e01a8dd9ef1
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
Replace the hardcoded SPD inbound/outbound ranges with values derived
from test inputs.
Add the necessary routes now that the tunnel endpoints are not in the
same subnet. Also add ip neighbor entry on DUT2 for the same reason.
Also replace ipsec sa dump with show ipsec all in teardown of tests
where both SAs and SPDs are configured to improve troubleshooting.
Change-Id: I7d89a99fcf457a701c87bf6ac07364b62802677d
Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
|
|
+ Model version 1.0.0.
- Only some result types are exported.
+ MRR, NDRPDR and SOAK.
- Other result types to be added later.
+ In contrast, all test types are detected.
+ Convert custom classes to JSON-serializable equivalents.
+ Sort dict keys before converting to JSON.
+ Override the order for some known keys.
+ Export sets as sorted arrays.
+ Convert to info content from serialized raw content.
+ Also export outputs for suite setups and teardowns.
+ Info files for setup/teardown exist only temporarily.
+ The data is merged into suite.info.json file.
+ This simplifies presentation of total suite duration.
+ Define model via JSON schema:
- Just test case, suite setup/teardown/suite to be added later.
- Just info, raw to be added later.
+ Proper descriptions.
+ Json is generated from yaml.
+ This is a convenience for maintainers.
+ The officially used schema is the .json one.
+ TODOs written into a separate .txt file.
+ Validate exported instance against the schema.
+ Include format checking.
+ Update CSIT requirements for validation dependencies.
+ This needs python-dateutil==2.8.2, only a patch bump.
+ Compute bandwidth also for soak tests.
+ This unifies with NDRPDR to simplify schema definition.
- PAL may need an update for parsing soak test message.
+ Include SSH log items, raw output only.
+ Generate all outputs in a single filesystem tree.
+ Move raw outputs into test_output_raw.tar.xz.
+ Rename existing tar with suites to generated_robot_files.tar.xz.
Change-Id: I69ff7b330ed1a14dc435fd0ef008e753c0d7f78c
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
+ Add ability to switch between hugepages.
Signed-off-by: pmikus <pmikus@cisco.com>
Change-Id: I84d8eae28ed414a32e5ba82e6c9ed10d7f0ef9cb
|
|
In rare cases, binding the whole /dev/vfio folder will result in
unusable VFs:
notice dpdk EAL: Cannot open /dev/vfio/151: Device or resource busy
[0], section 4.3.1. provides some clues as to what's going on and how to
avoid the failure. Mounting /dev/vfio reset the file descriptors of all
devices under /dev/vfio. Vfio-pci creates a device when an interface is
bound to it. The rare failure then occurs when /dev/vfio is mounted
while a process is using the file descriptors result in that process
using invalid file descriptors (or file descriptors belonging to a
different VF).
Fix the issue by binding i40e and ice VFs to vfio-pci before containers
are created and make sure that the VFs are not unbound later in testing.
Only bind DUT VFs since the TG uses the kernel driver.
[0]: https://connect.redhat.com/sites/default/files/2021-03/Cloud Native Network Function Requirements.pdf
Ticket: CSIT-1794
Change-Id: I83db91b29d16669fb034b141ad247f6f796fdf64
Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
|
|
Add 1, 10, 100 and 1000 SPD entries using IPv4 outbound flow cache
optimization.
Change-Id: I7abb65a82454c17ef754cb11386186610f0c27e8
Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
|
|
The comms DDP package needs to be installed to support all flow protocols
Signed-off-by: xinfeng zhao <xinfengx.zhao@intel.com>
Change-Id: I6ab1bd8beb9edb8c9889a0ed9a999080ca3cef3d
|
|
Change-Id: I8679c819b7c6ecd9e680bdc6edeafd2124def0b5
Signed-off-by: Viliam Luc <vluc@cisco.com>
|
|
It should be in transactions per second, so target rate (min rate).
Change-Id: I56a12d65466320fe5e4b2ee7d3b9946c9b3c414f
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
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>
|
|
Previously, runtime rate was not modified,
so max rate was always used, even in ndrpdr with two stats trials.
Now, each call to "Send traffic at specified rate" keyword
sets the given rate as runtime rate.
Change-Id: I3eb41eeadd6b64d23056c67c23a25f9565bb0424
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
Change-Id: I9d028294deb1e31b6d185deb1c7523e0226a0ada
Signed-off-by: Viliam Luc <vluc@cisco.com>
|
|
Signed-off-by: pmikus <pmikus@cisco.com>
Change-Id: I80efb278cf824dd8b1d38bb3ff3df43366e7295a
|
|
+ Migrate the call to main python util
Signed-off-by: pmikus <pmikus@cisco.com>
Change-Id: I8d00165071d4764121740c1c77819b8ffc65b3ba
|
|
This is the same appoach as in ipsec tests.
This is the fastest way to fix scale tests.
- Some argument combinations are not supported, e.g. multipath=False.
+ Make multipath=True default.
- Devicetest using local=True only works with PAPI.
+ But that was true already in rls2106, so no need to fix here.
+ Add two more formats to NetworkIncrement.
+ Check address is aligned, unless call side disables that.
+ Only one keyword for two devicetests disables the check.
+ Papi history condition to print first and last.
+ Minor docstring edits.
Change-Id: I32d24e2f821b412b5841a50d2f87e1c86345b1aa
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
Add testcases with plain ipv4 forwarding with 1, 10, 100 and 1000 SPD
entries on outbound traffic in both directions both directions. Only
match the last SPD entry and process others before the matching entry.
Add testcases only without flow cache optimization.
Refactor the Python functions that add SPD entries:
- Unify the args in functions that add one and multiple entries.
- For multiple entries, add the ability to pass an object that will
handle how values in each iteration (i.e. for each entry) are modified.
Change-Id: I061922eec6acc75a4e115202c07e72d89bf1f4d3
Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
|
|
Signed-off-by: pmikus <pmikus@cisco.com>
Change-Id: I6aba0123c1f79e5c2acbac07503f74fc0050f472
|
|
Signed-off-by: pmikus <pmikus@cisco.com>
Change-Id: I6826add7b3032041632c3952c45a3c64409400b0
|
|
+ Set overhead in those suites to numeric values.
+ Change the library to tolerate string representations anyway.
Change-Id: Ic6215840f7797801c994a38db5637999eb85a034
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
Signed-off-by: pmikus <pmikus@cisco.com>
Change-Id: I00372b5528752186a814e83af092e1b0123e4683
|
|
Signed-off-by: pmikus <pmikus@cisco.com>
Change-Id: I909942dbb920df7f0fe15c0c92cda92c3cd8d8ad
|
|
Signed-off-by: xinfeng zhao <xinfengx.zhao@intel.com>
Reviewed-by: Yulong Pei <yulong.pei@intel.com>
Change-Id: Ibe4420529192559a3cdbb84e0a67859750a9e0d5
|
|
Since switching to rxq ratio 1:1,
the previous value was not enough for 4c vhost tests.
+ Set the 1:1 rxq ratio also for DPDK (outside vhost) tests.
- Still not sure why those tests were not failing.
+ Set the 1:1 rxq ratio also for VPP container tests.
Ticket: CSIT-1783
Change-Id: Id9d136a638eb212a8105a6288e7847f3c35fefb0
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
- enabling for fortville, columbiaville
- enabling experimental for mlx
Signed-off-by: pmikus <pmikus@cisco.com>
Change-Id: I1b7ceb54769f4a0089ac7309350499e60c5cca0a
|
|
Signed-off-by: pmikus <pmikus@cisco.com>
Change-Id: I2f019a083916aec9f7816266f6ad5b92dcc31fa0
|
|
Signed-off-by: xinfeng zhao <xinfengx.zhao@intel.com>
Reviewed-by: Yulong Pei <yulong.pei@intel.com>
Change-Id: Ie7b9912eacdb60689012936580d3d774f7e470ae
|
|
Change-Id: I0c973ceffc13f4f3c5f959d56cb0890b87091a82
Signed-off-by: Viliam Luc <viliam.luc@pantheon.tech>
|
|
Signed-off-by: pmikus <pmikus@cisco.com>
Change-Id: I710af90aa5474381a82095c8a11ecf6c01c2483b
|
|
Change-Id: Ie2e735971934d8aeac2d436505c120f09ce67ac7
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
|
|
1. Suite steup add download nginx
2. Add nginx-1.14.2/1.15.0 ldp test suite
3. Add NginxUtils,NginxConfigGenerator method
4. Taskset the PID of nginx to the unused cores in VPP and these cores are under NIC's NUMA ID
5. cleanup add Kill Processes - nohup
Signed-off-by: xizhanx <xix.zhang@intel.com>
Change-Id: Idbf0e4ec3bf63e88281a8e3e34f52e00a6801c85
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
|
|
+ Extract the stats keyword into a library.
Change-Id: Icfaaa32c2a97d479ba0339acf34b865006949a89
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
+ PPS limit for AWS set to 1.2 Mpps.
+ The logic is very similar to that one in ASTF driver.
+ This helps for testbeds with high duration stretching (e.g. AWS).
+ Difference: No transaction scale, and we deal with floats.
+ Update loss counting to count unsent packets as lost.
+ Also count "unsent" transactions for other transaction types.
+ If nonzero, log the number of unsent packets/transactions.
+ Make STL and ASTF time overhead constant (called delay) configurable.
+ Subtract delay from approximated_duration, also for ASTF.
Change-Id: I6ee6aa6fba4f110ba1636e1b0ff76cac64383e33
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
Change-Id: I8b20134ad10abd9c021270b98c3110bd186946d5
Signed-off-by: Tibor Frank <tifrank@cisco.com>
|
|
+ Change some method names and argument types:
+ Do not mention NDR and PDR, except as examples.
+ Return list of ReceiveRateInterval instead of NdrPdrResult.
+ The resulting intervals can be degenerate when hitting min/max rate.
+ Rename quantity name parts from "fraction" to "ratio".
+ Intervals are no longer tracked for each target ratio.
+ They are found dynamically from known results.
+ Add effective_loss_ratio field to avoid loss inversion effects.
+ Move some functions to separate files.
+ Bound search logic moved to MeasurementDatabase.py
+ ProgressState moved to its file.
+ WidthArithmetics.py holds small computation functions.
+ Use parameter expansion_coefficient instead of "doublings".
+ Do uneven bisect to save time when width is not power of two times goal.
+ Timeout now correctly tracked for the whole search,
not just the current phase.
+ Make logging (debug) function pluggable.
+ Added debug log messages for initial phase.
+ Do not mark as subclass if contructor signature differs.
+ Avoid re-measure on scale-limited (ASTF) profiles.
+ Remove outdated comments.
+ Bump copyright years.
Change-Id: I93f693b4f186f59030ee5ac21b78acc890109813
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
This patch is to add test suites for vpp plugin crypto_sw_scheduler,
IPsec sync mode is to do crypto and packet forward work in same worker cores,
crypto_sw_scheduler can schedule crypto work to other async crypto cores to
improve whole crypto processing capability.
This test suites configure fixed 1 rx queues per port, then measure IPsec
performance with 1, 2, 3 crypto cores.
This patchset include 1, 2, 4, 8 ipsec tunnels test cases.
+Vratko help to change to count total physical cores instead of previous only
count crypto cores in test cases.
Change-Id: I0e67182e3d13273890a23703d838101900e25126
Signed-off-by: Yulong Pei <yulong.pei@intel.com>
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
Signed-off-by: pmikus <pmikus@cisco.com>
|
|
Signed-off-by: pmikus <pmikus@cisco.com>
Change-Id: I874568aebbe50c38e634438eb1201ca737bd18ad
|
|
+ With ramp-up, without reset, with session verification.
+ Uses the same profile as pps tests.
+ Ramp up duration is not specified, as duration is computed.
+ Timeout tracking with automated ramp-up.
+ Correct computation of next duration.
+ Checking both early and late sessions.
+ No loss measurement also acts as a ramp-up.
+ Return ReceiveRateMeasurement from send_traffic_on_tg_internal,
as that is needed for detecting whether trial is ok as ramp up.
- Udp needs quite low ramp-up rate after recent regression.
- Max scale has higher rate (so failing) to avoid session timeouts.
+ Bump copyright year.
Change-Id: I50c928659cd5b985b490a2e5fb69c5cd790600b0
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
Results if NDR search is in TPS (so unidir) since
https://gerrit.fd.io/r/c/csit/+/28208
The bug was causing all reconf tests report zero loss,
as they used half of NDR load during reconfiguration.
+ Small improvements to descriptions of other traffic keywords.
Change-Id: Ib9af5861cc09e698eb762feb3f0a019571d17962
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
Jira: CSIT-1768
Change-Id: I888ae1a5754fa07297d4cdf65c2be0e3e49d89a5
Signed-off-by: Jan Gelety <jgelety@cisco.com>
|
|
Modify initialize L2BD ACL keywords to be usable for both 2-node and
3-node topologies and update testsuites accordingly.
Add the missing macip T-rex profile.
Add classifier tests to 2n-tx2 job specs.
Change-Id: I17b84b8fc18ef9a6f275ae0238a0665ac2017f01
Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
|