Age | Commit message (Collapse) | Author | Files | Lines |
|
Signed-off-by: pmikus <peter.mikus@protonmail.ch>
Change-Id: Ia13e920ef11d364893a51957778e60084f4ac0f9
|
|
Signed-off-by: pmikus <peter.mikus@protonmail.ch>
Change-Id: I5cd45dd59f13e1ca942f44341b5f37e257c2b51e
|
|
VPP routing with one million fib rules also is a key indicator for
performance benchmark
Signed-off-by: xinfeng zhao <xinfengx.zhao@intel.com>
Signed-off-by: Yulong Pei <yulong.pei@intel.com>
Change-Id: I19b52f6b96bdc5ed1e76305d258825fb17bd3af9
|
|
+ Delete nat44 pps suites.
+ Rename ip4base suites, testcases, suite tags (also tg) to -tput.
+ Also robot tags like UDP_PPS and TCP_PPS.
- Keep traffic types and traffic profile names with pps.
+ They can be renamed in a different change if needed.
+ Update job specs.
- Do not update methodology yet (avoid conflict with another Change).
Ticket: CSIT-1829
Change-Id: Ic0dac441f6e8253edce88e057ab7fad1d3814c24
Signed-off-by: Vratko Polak <vrpolak@cisco.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>
|
|
The previous values were too high for 9000b bandwidth.
In order to avoid any packet loss,
the new values are low enough even for x710 (10 Gbps).
The ramp-up rate is also considerably lowered
for lower scales, to keep the rate constant.
Ramp-up duration slightly increased above the minimum needed
to avoid time overheads, duration stretching and rounding errors.
Ticket: CSIT-1811
Change-Id: Iefa8d4d9344e3876014dc5415a4acfedc5abf429
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
When building documentation using sphinx we see ~1200 similar warnings [0]
[0] - https://s3-logs.fd.io/vex-yul-rot-jenkins-1/csit-verify-tox-master-ubuntu2004-x86_64/3289/doc_verify.log.gz
These warning are harmless and can be fixed later
Signed-off-by: Viliam Luc <vluc@cisco.com>
Change-Id: I1ac1099d38935971d47491dde905715345d3935c
|
|
Some testbeds occasionally miss one session with the previous value.
+ Increase ramp-up duration proportionally.
Change-Id: I5300127d7e8fbc670c37ae392ab514b077b3c9b1
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
New IPUtil.Vpp_Route_Add implementation detects wrong values,
as it refuses start addresses with host bits set.
Fixed by copying in_mask values from nearby ASTF suites.
Change-Id: I768c023bd004ce97b74199d70e5768c5e948d429
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
Signed-off-by: pmikus <pmikus@cisco.com>
Change-Id: I909942dbb920df7f0fe15c0c92cda92c3cd8d8ad
|
|
Signed-off-by: pmikus <pmikus@cisco.com>
Change-Id: I710af90aa5474381a82095c8a11ecf6c01c2483b
|
|
+ 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>
|
|
+ Rename traffic profiles to avoid mentioning number of nodes.
+ Improve 2n rnd suite documentation slightly.
Change-Id: I82d6fb6a99133163a58d56f2acf8a7b9568ee77c
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
Signed-off-by: Tomas Alexy <tomas.alexy@pantheon.tech>
Change-Id: Ifb97088a26f3c2ab2ecee28ed43e6e957a844c64
|
|
+ Add UDP_CPS, TCP_CPS, UDP_PPS and TCP_PPS suites.
+ Update existing cps traffic profiles.
+ Add missing traffic profiles.
+ UDP:
+ Single burst of 32 packets was confirmed as safe enough for TRex.
+ Maybe 64 could work, but not enough testing for that.
+ Multiple bursts have lead to reduced TRex performance,
as overlaping bursts (from different client instances)
tend to fill up the buffers.
+ TCP:
+ Data size set to 11111 bytes, completely arbitrarily.
+ Results look reasonable, so I have kept that.
- MSS not set at all
- No tested support for frame size other than 64B.
- Frame size does not even factor into TCP profiles.
+ So other frame sizes are skipped in autogen.
+ Update tags in related suites.
- HOSTS_{n} and SRC_USER_{n} should be unified.
- Questionable clarification on difference between IP4BASE and SCALE.
+ Add NAT state resetters to tests that need them.
+ Resetter is called (if set) before each measurement.
+ If ramp-up is detected, resetter is not set.
+ Rename "mult" argument to "multiplier".
+ Abstracted from packets to transactions.
+ Transaction corresponds to profile.
+ TRex multiplier argument sets target rate in transactions per second.
+ The familiar STL traffic:
+ Bidirectional is considered to be 2 packets per transaction.
+ Unidirectional is considered to be 1 packet per transaction.
+ The newer ASTF traffic:
+ 4 subtypes, each has different number of packets per transaction.
+ For max rate computation:
+ Packets in the more numerous direction are considered.
+ Rely on TRex reported traffic duration for ASTF:
+ Use the server side value.
- Client side value is higher by an overhead.
- TRex is not sending traffic during that time.
+ Remove delays from traffic profiles.
- Those delays would increase the reprted traffic time.
+ Support for scale lmited trials.
+ Only for ASTF profiles, each ASTF profile has limited scale.
+ Scale defined in suite variables.
+ For TRex to send all transactions provided duration value is ignored.
+ The appropriate value is computed in TrafficGenerator.
+ An ad-hoc time constant is added to match the TRex client side time overhead.
+ The profile driver receives the computed duration.
+ Measurement for PLRsearch add a sleep if the computed duration is smaller.
+ Alternative argument for search algos if scale is limited.
+ Both need higher timeout to accomodate big scales.
+ MLRsearch can afford fewer phases.
+ Added a parameter to optionally shorten the duration.
+ Use short duration for runtime stats trial and failure stats trial.
+ Use very large keepalive values in udp profiles to avoid ka packets.
+ No polling in ASTF profile driver.
- Polling could eliminate the time overhead value.
+ But polling proved to introduce some loss, affecting the results.
+ Handle duration stretching in ASTF by stopping traffic.
+ The stop has several steps so that:
+ The traffic is really stopped entirely.
+ Late packets do not count (maybe as errors).
+ Stats are preserved to read for results (and cleared afterwards).
+ Several quantities added to ReceiveRateMeasurement:
+ Original target duration is preserved (algos need that).
+ Input estimate (tps) for early search iterations.
+ Output estimate (maybe pps) for MRR output.
+ Strict result (unsent counts as loss) for NDR.
+ Use L2 counters (opackets, ipackets) where possible.
- TRex has trouble processing packets for the L7 ones at high loads.
+ Remove warmup from profile drivers and keywords.
+ Suites should call "Send ramp-up traffic" explicitly if needed.
+ Added parsing for few more counters.
+ Both to use in formulas or just for debug purposes.
- Only 64B cases in autogen, framesize support to be added later.
+ Latency streams during search can be enabled via PERF_USE_LATENCY env var.
+ MLRsearch improvments:
+ Rename argument names to min_rate and max_rate.
+ Use relative receive rate in initial phase.
+ PLRsearch improvements:
+ Careful computation when output (pps) does not match input (tps).
+ Use geometric distribution (instead of Poisson).
+ Helps agains math errors.
+ This should improve estimate stability.
- But in practice big losses still lead to significant jumps.
+ Traffic generator improvements:
+ send_traffic_on_tg now calls the full set_rate_provider_defaults.
+ _send_traffic_on_tg_internal for the logic without provider defaults.
+ As the internal function is re-used by measure() without affecting defaults.
+ Move _parse_traffic_results just before get_measurement_result.
+ As the latter uses fields set bu the former, it is now easier to read.
+ Multiple sources for approximate duration.
+ Tried from more precise to more available.
+ Includes logic for _pps tests (added in later change).
+ Move explicit type conversions to earlier occurences.
+ Profile driver output field uses semicolons to simplify parsing.
+ Performance Robot lib file split to several smaller ones.
+ performance_actions.robot:
+ Hosts Additional Statistics Action For * keywords.
+ performance_display.robot:
+ Hosts keyword for displaying and verifying results.
+ Change test message to use the correct unit (pps or cps).
+ performance_limits.robot renamed to performance_vars.robot
+ Added many keywords, mostly for accessing test variables.
+ Moved variables for Policer into a new keyword there.
+ Some keywords need sophisticated logic.
- Other are basically Get Variable Value.
+ But in future more logic can be added, without editing callers.
+ Documentation for the new keywords acts as a documentation for test variables.
+ performance_utils.robot has the rest.
+ Eliminated arguments if the value is in test variable.
+ Small improvements to documentation.
- Still not enough cleanup with respect to arguments and test variables.
+ Keywords are sorted alphabetically now in each one.
+ Suites:
+ Unified variables table:
+ No colons in comments.
+ ${n_hosts}, ${n_ports} and use them instead hardcoded numbers.
+ Add -cps to existing cps suite names.
+ Remove "trial data overwrite".
+ Compute max rate as in STL suites.
+ Each NAT suite has ip4base suite to compare results to.
- Those act as indirect TRex calibration.
- VPP does not lose packets in those.
+ Latency in ASTF suites is disabled hard.
- As we do not support latency in ASTF profiles yet.
+ Unidirectional tests governed by suite variable, not an argument.
+ Write long argument lists vertically.
+ Prefer to use argument names.
+ In Python, also the last argument is followed by comma.
+ It makes renaming and reordering easier.
+ Similarly applies to prints with long lists of values.
+ A TODO to update api crc file comments.
Change-Id: I84729355edbec051298a9de1162107f88ff5737d
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
- cover API changes in VPP: https://gerrit.fd.io/r/c/vpp/+/29463
- update vpp stable to version 21.01-rc0~283-g5f4f2081c
Change-Id: I079c10e4537448c3b078f22c3fe4ed266a5e2e2c
Signed-off-by: Jan Gelety <jgelety@cisco.com>
|
|
- after merge of commit vppinfra: use heap to store bihash data |
https://gerrit.fd.io/r/c/vpp/+/29099
it is necessary to allocate 14GB of memory for main heap in case
of nat44ed test with 16.5M sessions
Change-Id: I65dccdd4f50382b1b40cdffd2d9031ffb7d3bfa1
Signed-off-by: Jan Gelety <jgelety@cisco.com>
|
|
Change-Id: I3aa50ec1ef9b0445014daa31e767323060f4a03f
Signed-off-by: Jan Gelety <jgelety@cisco.com>
|
|
Change-Id: Ie24184ca4ac2d6c7abc32f0f103e10bc402ad93b
Signed-off-by: Jan Gelety <jgelety@cisco.com>
|
|
Change-Id: I1c638aef886bf37a9feb4a29e4949c7c8f19b717
Signed-off-by: Jan Gelety <jgelety@cisco.com>
|
|
- default value for main heap size set to 2G
- allow allocation of n x 2G in tests that need it
Change-Id: I02dafe6bc61649d2823486a3e983f66f5a213a88
Signed-off-by: Jan Gelety <jgelety@cisco.com>
|
|
- some tests need to reduce rate for ramp-up phase
- some tests need to extend trail duration in ramp-up phase
- removed 2n1l-10ge2p1x710-ethip4udp-nat44det-h1-p63-s63 suite
as nat out ports are randomly selected from available port range
so T-Rex stateless is not able to provide required out2in traffic
Change-Id: I1145496610d202f81d911e68aa819844d7600918
Signed-off-by: Jan Gelety <jgelety@cisco.com>
|
|
Change-Id: If141566f76d5b2f309953233e693c34fef8ee12f
Signed-off-by: Jan Gelety <jgelety@cisco.com>
|
|
Signed-off-by: pmikus <pmikus@cisco.com>
Change-Id: Iee488e2244a4e253471310bc7fb9640c69c6b0cb
|
|
Change-Id: Idb7b415995f0a3474e379b0c023f64a96e886a55
Signed-off-by: Jan Gelety <jgelety@cisco.com>
|
|
- align CSIT code with VPP code changes for NAT44 deterministic
(DET44) feature
- align test names according to snat44ed tests
- remove obsolete 3-node nat tests
- remove 2n1l-10ge2p1x710-ethip4udp-snat44det-h1048576-p63-s66060288 tests
(not enough memory for such high number of sessions)
Change-Id: I9a22b99b4cfa56d18e9c7ef9c58296e202567d42
Signed-off-by: Jan Gelety <jgelety@cisco.com>
|
|
Change-Id: I74641cc89d2f25d50b67d51bf2567082b420aabb
Signed-off-by: Jan Gelety <jgelety@cisco.com>
|
|
Jira: CSIT-1736
- tcp synthetic profiles w/o data packets
- tcp cps perf tests, phase I (no special "search cps" KW)
Change-Id: I52be34b0fdd51d7a33c8c5de9b46d7064c48f7fa
Signed-off-by: Jan Gelety <jgelety@cisco.com>
|
|
- continuation of https://gerrit.fd.io/r/c/csit/+/26898 as there was
reached limit of changes (1000)
Jira: CSIT-1711
- udp synthetic profiles w/o data packets
- udp cps perf tests, phase I (no special "search cps" KW)
Part I means that we are using MRR tests to collect traffic data
until there is ready new CPS test type with corresponding algorithm.
Change-Id: I0d30feb9ecf1d0bff937152656f8eb422f831378
Signed-off-by: Jan Gelety <jgelety@cisco.com>
|
|
- provide base routines to run T-Rex in advanced stateful mode
Change-Id: Ib0dc5f2919c370753335f6446860683dc4b12d93
Signed-off-by: Jan Gelety <jgelety@cisco.com>
|
|
The following VPP change renames and moves
COP functionality into a brand new plugin:
https://gerrit.fd.io/r/c/vpp/+/27916
In a subsequent change we should rename tests
and start using the new API messages.
This change is just a minimal edit to avoid test failures.
Change-Id: I1c4b81060dd533ef447f3cc44443b71c5e524d59
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
Signed-off-by: Maros Mullner <maros.mullner@pantheon.tech>
Change-Id: Ib5f58f60a1409ed139e2846793bf52fdc02a6571
|
|
The test names are unique without it and the information doesn't add
anything extra.
Change-Id: Idc7d6d1d21c8c05691e1757227a0a3787406d370
Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
|
|
+ Merge single/double link
+ Introduce _pf{n}[0] variables so we can access physical function
same way as virtual function
+ Cleanup code by moving complex logic to python
+ Prepare code for multiple vf functions
Signed-off-by: Peter Mikus <pmikus@cisco.com>
Change-Id: Ic2e74a38bfa146441357de8f0916aeb638941c49
|
|
Change-Id: Ib30bc4697fcba93a6723ee492a59a0523425f623
Signed-off-by: Peter Mikus <pmikus@cisco.com>
|
|
Change-Id: I9af632035a1415666b2470c62a41d1b6acbf33c8
Signed-off-by: Jan Gelety <jgelety@cisco.com>
|
|
Change-Id: I23910b74c8720245b43067ac8c68880291b4b1c2
Signed-off-by: Jan Gelety <jgelety@cisco.com>
|
|
New daily sets are prepared based on information in
https://gerrit.fd.io/r/c/csit/+/24073/1/docs/job_specs/perf_tests_job_specs.md
and previous test set definitions in
docs/job_specs/test_select_list_[2n|3n]_[clx|skx|hsw|tsh|dnv].md
files.
- mrr-daily-2n-clx: 510 TCs (incl. nfv_density), expected exec. time 8:50h
- mrr-daily-2n-skx: 525 TCs (incl. nfv_density), expected exec. time 7:55h
- mrr-daily-3n-skx: 393 TCs (incl. nfv_density), expected exec. time 11:00h
- mrr-daily-3n-hsw: 177 TCs (incl. nfv_density), expected exec. time 7:10h
- mrr-daily-3n-tsh: 204 TCs, expected exec. time 21:00h
- mrr-daily-2n-dnv: 84 TCs, expected exec. time 2:25h
- mrr-daily-3n-dnv: 144 TCs, expected exec. time 6:35h
+ add some missing test suites
+ add trex-sl-2n-ethip4udp-1000u15p.py T-Rex traffic profile
+ correction of TS and TC names and tags in directory
tests/vpp/perf/nfv_density/chain_ipsec
Change-Id: Icfc86e9af97ed8dd8ccd2a34355c99aad69a28c0
Signed-off-by: Jan Gelety <jgelety@cisco.com>
|
|
+ Include a script to add suite tags to many suites at once.
+ Add suite tags also to device tests (not covered by autogen).
Change-Id: I514ee6178e22999b43460028fe2696738b012f04
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
+ Disallowed -avf- (or -rdma-) as "template" suites.
+ GBP suite switched to DPDK driver in repo.
+ Each NIC has its own list of supported drivers, in Constants.
+ Updated tag expressions for daily jobs:
+ Feature, ipsec, memif, scale, srv6, tunnels, vhost and vts
are tested only with vfio-pci.
+ Other (base, dot1q, dot1ad) tested with all drivers.
+ Setup actions currently depend on driver, generated.
- The performance_rdma action is trivial for now.
- Several tests fail, to be fixed later, e.g. by performance_rdma.
+ Reconf tests are also supported.
+ Added DRV_VFIO_PCI tags missing, mainly in density tests.
- Vhost suites (density, reconf) are failing, but suites look good.
- TCP suites do not support NIC drivers yet.
- DPDK obviously not supported.
+ Use Python 3 in regenerate scripts.
+ Fix typos binded => bound.
+ File open modes set either u"rt" or u"wt" everywhere.
+ Remove a trailing space in an environment variable name.
Change-Id: I290470675dc5c9e88b2eaa5ab6285ecd9ed7827a
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
+ From trending ...
Signed-off-by: Peter Mikus <pmikus@cisco.com>
Change-Id: I0ebb5429f0ad731d42aa43855cd99ae73b1461fc
|
|
Signed-off-by: Balaji Venkatraman <balajiv@cisco.com>
Change-Id: Iadd9e8da655f3ccbd36167c1bbee37a774c3bc1f
Signed-off-by: Balaji Venkatraman <balajiv@cisco.com>
|
|
Change-Id: I1392c06b1d64f62b141d24c0d42a8e36913b15e2
Signed-off-by: Jan Gelety <jgelety@cisco.com>
|
|
One suite was missing "And Add NAT to all DUTs".
Change-Id: I6e9c3de9f236a080cfe829db2d155a6f6ba3b3f4
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
+ This will help unify driver base differences between TCs.
+ Decrease amount of logic needed for suite generator.
Signed-off-by: Peter Mikus <pmikus@cisco.com>
Change-Id: I1e84ba361dc1e829f0612c58a61096e2633ce0c5
|
|
+ Small bugfixes in various suites
Signed-off-by: Peter Mikus <pmikus@cisco.com>
Change-Id: I051af0a6da7340fe3f617400370c3846ca5241ab
|
|
Change-Id: I6c7eff8d9cbb196ccb684a45579ac59942351cfe
Signed-off-by: premkumarv <preym17@gmail.com>
|
|
Change-Id: I786fe9f75777e1cd0daee70bc350185dd7fd17e1
Signed-off-by: Jan Gelety <jgelety@cisco.com>
|
|
+ Few fixes in doc
+ Align testcases
Signed-off-by: Peter Mikus <pmikus@cisco.com>
Change-Id: I5575db8255a74fd46f37d5cc2637b9b4448bcd7f
|
|
Change-Id: I90901c4ab14dfa76dc3e1f786a4b986479e0ba47
Signed-off-by: Jan Gelety <jgelety@cisco.com>
|