Age | Commit message (Collapse) | Author | Files | Lines |
|
+ 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>
|
|
Change-Id: I409b060f64ae7c6787448ae519fd76d8384e9ffb
Signed-off-by: Martin Balaz <martin.balaz@pantheon.tech>
|
|
Change-Id: I9b6c2185e43ed0b33dbeafb3d2757656f9e49bc3
Signed-off-by: Tibor Frank <tifrank@cisco.com>
|
|
Change-Id: I7b15c69c923d47e83c2dc586cdc03ed4ebaeec74
Signed-off-by: Tibor Frank <tifrank@cisco.com>
|
|
Change-Id: I8918f09411254b64abb65a165a0e284f735b306e
Signed-off-by: Tibor Frank <tifrank@cisco.com>
|
|
Change-Id: I2394b42e177758a8f3ce4aeeb912b264cf3b457c
Signed-off-by: Tibor Frank <tifrank@cisco.com>
|
|
Change-Id: Ib5acc321ac7d5db7598b30b9783cee06ee8c1462
Signed-off-by: Tibor Frank <tifrank@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>
|
|
Change-Id: Iaa5fb969b699985da8ec3356aa32fc0cb757affb
Signed-off-by: Tibor Frank <tifrank@cisco.com>
|
|
Change-Id: If03e4adf3672413016058fae85219ae5c7e922db
Signed-off-by: Tibor Frank <tifrank@cisco.com>
|
|
Change-Id: I7f7e50610e71af7f2b0dc1eed267a421ffd8aef0
Signed-off-by: Tibor Frank <tifrank@cisco.com>
|
|
Change-Id: I657325a2c18a1003c8825037291f1c37962e2c67
Signed-off-by: Tibor Frank <tifrank@cisco.com>
|
|
+ Not sure who was doing code.
+ Set interface up should have namespace version
Signed-off-by: pmikus <pmikus@cisco.com>
Change-Id: I1103cddb9dd11e25a8ab0ce3f5126b2db9444749
|
|
Force check is doing its job but vt.handoff was deployed later.
vt.handoff (vt = virtualterminal) is a kernel boot parameter unique to
Ubuntu, and is not an upstream kernel boot parameter. Its purpose is to
allow the kernel to maintain the current contents of video memory on a
virtual terminal. So, when the operating system is booting up, when it
moves past the boot loader, vt.handoff allows showing of an aubergine
background, with Plymouth displaying a logo and progress indicator bar
on top of this. Once the display manager comes up, it smoothly replaces
this with a login prompt.
Useless
Signed-off-by: pmikus <pmikus@cisco.com>
Change-Id: I9d6db8833ccbef680fab2b643e9c3525bc709244
|
|
Change-Id: Ib668674a2a267d2ceed458288d21181b2a937778
Signed-off-by: Peter Mikus <pmikus@cisco.com>
|
|
Change-Id: I28cd6e2bfdf6617f7590907fc114681823a2979f
Signed-off-by: Tibor Frank <tifrank@cisco.com>
|
|
There were occasional Router Advertisement packets received in a Traffic
Generator in VM testcases. Fix by adding config that disables sending
IPv6 RA messages on interfaces in VM VPP config before enabling them.
Also rename related keywords and change descriptions based on
https://docs.fd.io/vpp/21.01/db/d4c/clicmd_src_vnet_ip6-nd.html#clicmd_ip6_nd
Change-Id: I1c2a33337ac91f6039d287b4c2aac388e3a52383
Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
|
|
merge after https://gerrit.fd.io/r/c/csit/+/28885
Change-Id: I657f4e219968a8d422af6f5d6fc4727facfafb20
Signed-off-by: Tibor Frank <tifrank@cisco.com>
|
|
- Specs
- Tests
- Library
- TODO: PAL
Signed-off-by: pmikus <pmikus@cisco.com>
Change-Id: I8890940d56c7a9924d4a5f9365b6bb881610db14
|
|
Change-Id: I17c582de8fa24ffd55b163cfeb727f2951ec647f
Signed-off-by: Tibor Frank <tifrank@cisco.com>
|
|
Change-Id: I82099d75e02369a6b8e3093563f8e8ec62c96c19
Signed-off-by: Tibor Frank <tifrank@cisco.com>
|
|
Signed-off-by: pmikus <pmikus@cisco.com>
Change-Id: I8abfc47e5e816e2ab4b39d7ad7575e672ae19ca6
|
|
Change-Id: Icce2fc809d3f72a6447cc07700df3c6f324af267
Signed-off-by: Tibor Frank <tifrank@cisco.com>
|
|
Change-Id: I16ce4e2146fa44eace76fb495cc6d007005c215f
Signed-off-by: Tibor Frank <tifrank@cisco.com>
|
|
Change-Id: I41209e4a285edb9d6ac5428ea091b36179f3e1ed
Signed-off-by: Tibor Frank <tifrank@cisco.com>
|
|
Change-Id: Ib5dd43bfa823352f2aa623e54bf8de4306675eb6
Signed-off-by: Tibor Frank <tifrank@cisco.com>
|
|
Replace the hacky grep of /etc/resolv.conf with default docker gateway
IP.
Change-Id: Iec3a4658826f2ba871acb14d511e9c79a1273290
Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
|
|
Change-Id: I7064e2c1a5a679a964f588524392681221f7c80d
Signed-off-by: Tibor Frank <tifrank@cisco.com>
|
|
Change-Id: Ibd0c2bdb9ea9ab166bc9f3ce2d80f711877519e9
Signed-off-by: Tibor Frank <tifrank@cisco.com>
|
|
Change-Id: Ie880ee58313603104b2de9681305fc460939e96a
Signed-off-by: Tibor Frank <tifrank@cisco.com>
|
|
Change-Id: Ia648b4aec15b1ca8e9293373160e740c19abcdb1
Signed-off-by: Tibor Frank <tifrank@cisco.com>
|
|
Change-Id: I6c033a1c8b5b191b0e8089a6774aeef309246c5b
Signed-off-by: Tibor Frank <tifrank@cisco.com>
|
|
Change-Id: I5be516a5d9a176e47a6e51606b484289e54c2ac9
Signed-off-by: Tibor Frank <tifrank@cisco.com>
|
|
Signed-off-by: pmikus <pmikus@cisco.com>
Change-Id: I3954157e91aafd370c3ac0843708903d19b84936
|
|
Change-Id: I39981b53640e45c95db20747b61d8af34eb4ce86
Signed-off-by: Tibor Frank <tifrank@cisco.com>
|
|
Change-Id: Ie04617e41f5d8ced902d7a4c2c0662b03d4e135b
Signed-off-by: Tibor Frank <tifrank@cisco.com>
|
|
Change-Id: I23ee9bef5631fde8403650caa96a14d9f920e055
Signed-off-by: Tibor Frank <tifrank@cisco.com>
|
|
Change-Id: Ic6f9ba720eb3ed964404789632278f211e576bb2
Signed-off-by: Tibor Frank <tifrank@cisco.com>
|
|
Change-Id: I3cd0fa4eea903148e1d108ca7cd8f0e112acf7ab
Signed-off-by: Tibor Frank <tifrank@cisco.com>
|
|
Change-Id: I63d06a2933f1749e230f20386ffbd23f14e6f54f
Signed-off-by: Tibor Frank <tifrank@cisco.com>
|
|
- use new vpp ref build - ubuntu 18.04:
21.01-rc0~170-g83143710e
- use new vpp ref build - centos7:
21.01-rc0~170_g8314371~b72
Change-Id: I57ca5fceb64309ab645cead1a1b22fd0db61b7e4
Signed-off-by: Jan Gelety <jgelety@cisco.com>
|
|
Change-Id: I5f406af65667771ddc1ea80a88f35e6d9aba2ff5
Signed-off-by: Tibor Frank <tifrank@cisco.com>
|
|
Change-Id: I13156df3b8e8d77ed5f83b97ed17e64d7526591f
Signed-off-by: Tibor Frank <tifrank@cisco.com>
|
|
Change-Id: I6f12eaf373b76b27939849d6b64083f5edcdca08
Signed-off-by: Tibor Frank <tifrank@cisco.com>
|
|
One ThunderX2 9975 server (.69) was replaced with two ThunderX2 9980
(.70, .71) servers. Move the .69 server under ansible perf section in
anticipation of repurposing it for that purpose. Update the ansible
scripts with .70 and .71 config and rename port names in device.sh lib
to reflect the NIC differences between .69 and .70 (and .71).
Change-Id: I88b75648735243e5559175d3192ffcc8fc70071c
Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
|
|
Change-Id: I810f22a8bf4dc074e1c01d54fc4f8303b05aef22
Signed-off-by: Tibor Frank <tifrank@cisco.com>
|
|
Change-Id: I8468454790108fc992fb3146c0b4cc8a443cf093
Signed-off-by: Tibor Frank <tifrank@cisco.com>
|
|
Change-Id: I2308c87b4c78bc319092e83fbb2326998a94f7ea
Signed-off-by: Tibor Frank <tifrank@cisco.com>
|
|
Change-Id: I15b371a93d7b1e80fab50bd5ffab83ada3a2fdb2
Signed-off-by: Tibor Frank <tifrank@cisco.com>
|
|
Change-Id: I0c72bd757af3a51cd982fc43ea4f31a12b14441e
Signed-off-by: Tibor Frank <tifrank@cisco.com>
|