diff options
author | Vratko Polak <vrpolak@cisco.com> | 2020-10-28 12:50:10 +0100 |
---|---|---|
committer | Vratko Polak <vrpolak@cisco.com> | 2020-10-29 20:26:41 +0000 |
commit | 3ccdfe158ce748d1892b66d755643fa88fe5920e (patch) | |
tree | 691c1181442e82d958eddc14355a31e4ae023c2b /tests/vpp/perf | |
parent | e3bcfbf0390898a81b4fdcbc105938102cfec6a2 (diff) |
Support existing test types with ASTF
Manual cherry-pick from master [1],
reverting impact of [2] and [3].
[1] https://gerrit.fd.io/r/c/csit/+/28208/176
[2] https://gerrit.fd.io/r/c/csit/+/29077
[3] https://gerrit.fd.io/r/c/csit/+/29529
The heap multipliers are left in suites,
as that simplifies cherry-picking between branches.
Original [0] commit message:
Support existing test types with ASTF
+ 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>
Diffstat (limited to 'tests/vpp/perf')
114 files changed, 3010 insertions, 1158 deletions
diff --git a/tests/vpp/perf/ip4/10ge2p1x710-dot1q-ip4base-ndrpdr.robot b/tests/vpp/perf/ip4/10ge2p1x710-dot1q-ip4base-ndrpdr.robot index 07c2480e2f..6a5f288d6d 100644 --- a/tests/vpp/perf/ip4/10ge2p1x710-dot1q-ip4base-ndrpdr.robot +++ b/tests/vpp/perf/ip4/10ge2p1x710-dot1q-ip4base-ndrpdr.robot @@ -65,7 +65,7 @@ # TG subnets used by T-Rex | ${tg_if1_net}= | 10.10.10.0 | ${tg_if2_net}= | 20.20.20.0 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-3n-ethip4-ip4src254 *** Keywords *** diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4base-copwhtlistbase-ndrpdr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4base-copwhtlistbase-ndrpdr.robot index 5ca8c561e8..3ebc380342 100644 --- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4base-copwhtlistbase-ndrpdr.robot +++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4base-copwhtlistbase-ndrpdr.robot @@ -58,7 +58,7 @@ | ${nic_vfs}= | 0 | ${osi_layer}= | L3 | ${overhead}= | ${0} -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-3n-ethip4-ip4src253 *** Keywords *** diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4base-iacldstbase-ndrpdr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4base-iacldstbase-ndrpdr.robot index fffbfd6e0d..afd4624d55 100644 --- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4base-iacldstbase-ndrpdr.robot +++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4base-iacldstbase-ndrpdr.robot @@ -58,7 +58,7 @@ | ${nic_vfs}= | 0 | ${osi_layer}= | L3 | ${overhead}= | ${0} -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-3n-ethip4-ip4src253 *** Keywords *** diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4base-ipolicemarkbase-ndrpdr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4base-ipolicemarkbase-ndrpdr.robot index 1e5396c787..3597eab7d7 100644 --- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4base-ipolicemarkbase-ndrpdr.robot +++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4base-ipolicemarkbase-ndrpdr.robot @@ -62,7 +62,7 @@ | ${cir}= | ${100} | ${eir}= | ${150} | ${dscp}= | AF22 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-3n-ethip4-ip4src253 *** Keywords *** @@ -80,14 +80,10 @@ | | | | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} | | -| | ${cb}= | Get Average Frame Size | ${frame_size} -| | ${eb}= | Get Average Frame Size | ${frame_size} -| | | | Set Test Variable | \${frame_size} -| | Set Test Variable | \${cb} -| | Set Test Variable | \${eb} | | | | Given Set Max Rate And Jumbo +| | And Set Rates For Policer | | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} | | And Pre-initialize layer driver | ${nic_driver} | | And Apply startup configuration on all VPP DUTs diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4base-ndrpdr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4base-ndrpdr.robot index 452ef5b358..992a9fd851 100644 --- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4base-ndrpdr.robot +++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4base-ndrpdr.robot @@ -57,7 +57,7 @@ | ${nic_vfs}= | 0 | ${osi_layer}= | L3 | ${overhead}= | ${0} -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-3n-ethip4-ip4src253 *** Keywords *** diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4scale200k-ndrpdr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4scale200k-ndrpdr.robot index ca83d2e2fe..1ae46ec4eb 100644 --- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4scale200k-ndrpdr.robot +++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4scale200k-ndrpdr.robot @@ -58,7 +58,7 @@ | ${osi_layer}= | L3 | ${overhead}= | ${0} | ${rts_per_flow}= | ${100000} -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-3n-ethip4-ip4dst${rts_per_flow} *** Keywords *** diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4scale20k-ndrpdr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4scale20k-ndrpdr.robot index f91928f1f3..3218c986af 100644 --- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4scale20k-ndrpdr.robot +++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4scale20k-ndrpdr.robot @@ -58,7 +58,7 @@ | ${osi_layer}= | L3 | ${overhead}= | ${0} | ${rts_per_flow}= | ${10000} -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-3n-ethip4-ip4dst${rts_per_flow} *** Keywords *** diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4scale2m-ndrpdr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4scale2m-ndrpdr.robot index 157b897c04..c2d26a9ac3 100644 --- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4scale2m-ndrpdr.robot +++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4scale2m-ndrpdr.robot @@ -58,7 +58,7 @@ | ${osi_layer}= | L3 | ${overhead}= | ${0} | ${rts_per_flow}= | ${1000000} -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-3n-ethip4-ip4dst${rts_per_flow} *** Keywords *** diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl10sf-100flows-ndrpdr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl10sf-100flows-ndrpdr.robot index f2f3d9ed9e..75dafd82e1 100644 --- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl10sf-100flows-ndrpdr.robot +++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl10sf-100flows-ndrpdr.robot @@ -74,7 +74,7 @@ | ${port_step}= | ${1} | ${trex_stream1_subnet}= | 10.10.10.0/24 | ${trex_stream2_subnet}= | 20.20.20.0/24 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-3n-ethip4udp-10u10p-conc *** Keywords *** diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl10sf-100kflows-ndrpdr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl10sf-100kflows-ndrpdr.robot index 111c841260..a6f90ee238 100644 --- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl10sf-100kflows-ndrpdr.robot +++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl10sf-100kflows-ndrpdr.robot @@ -74,7 +74,7 @@ | ${port_step}= | ${1} | ${trex_stream1_subnet}= | 10.10.10.0/24 | ${trex_stream2_subnet}= | 20.20.20.0/24 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-3n-ethip4udp-100u1000p-conc *** Keywords *** diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl10sf-10kflows-ndrpdr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl10sf-10kflows-ndrpdr.robot index 7c8763b484..45285d48fc 100644 --- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl10sf-10kflows-ndrpdr.robot +++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl10sf-10kflows-ndrpdr.robot @@ -74,7 +74,7 @@ | ${port_step}= | ${1} | ${trex_stream1_subnet}= | 10.10.10.0/24 | ${trex_stream2_subnet}= | 20.20.20.0/24 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-3n-ethip4udp-10u1000p-conc *** Keywords *** diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl10sl-100flows-ndrpdr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl10sl-100flows-ndrpdr.robot index d2221196af..4fbf64b48f 100644 --- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl10sl-100flows-ndrpdr.robot +++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl10sl-100flows-ndrpdr.robot @@ -74,7 +74,7 @@ | ${port_step}= | ${1} | ${trex_stream1_subnet}= | 10.10.10.0/24 | ${trex_stream2_subnet}= | 20.20.20.0/24 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-3n-ethip4udp-10u10p-conc *** Keywords *** diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl10sl-100kflows-ndrpdr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl10sl-100kflows-ndrpdr.robot index 99517b1338..74b32cf8ec 100644 --- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl10sl-100kflows-ndrpdr.robot +++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl10sl-100kflows-ndrpdr.robot @@ -74,7 +74,7 @@ | ${port_step}= | ${1} | ${trex_stream1_subnet}= | 10.10.10.0/24 | ${trex_stream2_subnet}= | 20.20.20.0/24 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-3n-ethip4udp-100u1000p-conc *** Keywords *** diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl10sl-10kflows-ndrpdr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl10sl-10kflows-ndrpdr.robot index c486f0ec03..002629e772 100644 --- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl10sl-10kflows-ndrpdr.robot +++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl10sl-10kflows-ndrpdr.robot @@ -74,7 +74,7 @@ | ${port_step}= | ${1} | ${trex_stream1_subnet}= | 10.10.10.0/24 | ${trex_stream2_subnet}= | 20.20.20.0/24 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-3n-ethip4udp-10u1000p-conc *** Keywords *** diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl1sf-100flows-ndrpdr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl1sf-100flows-ndrpdr.robot index 43d080cb07..ddd9b09cf2 100644 --- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl1sf-100flows-ndrpdr.robot +++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl1sf-100flows-ndrpdr.robot @@ -74,7 +74,7 @@ | ${port_step}= | ${1} | ${trex_stream1_subnet}= | 10.10.10.0/24 | ${trex_stream2_subnet}= | 20.20.20.0/24 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-3n-ethip4udp-10u10p-conc *** Keywords *** diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl1sf-100kflows-ndrpdr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl1sf-100kflows-ndrpdr.robot index f1b5d74904..386c735d81 100644 --- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl1sf-100kflows-ndrpdr.robot +++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl1sf-100kflows-ndrpdr.robot @@ -74,7 +74,7 @@ | ${port_step}= | ${1} | ${trex_stream1_subnet}= | 10.10.10.0/24 | ${trex_stream2_subnet}= | 20.20.20.0/24 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-3n-ethip4udp-100u1000p-conc *** Keywords *** diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl1sf-10kflows-ndrpdr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl1sf-10kflows-ndrpdr.robot index a73d7dc49f..41c1c450f7 100644 --- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl1sf-10kflows-ndrpdr.robot +++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl1sf-10kflows-ndrpdr.robot @@ -74,7 +74,7 @@ | ${port_step}= | ${1} | ${trex_stream1_subnet}= | 10.10.10.0/24 | ${trex_stream2_subnet}= | 20.20.20.0/24 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-3n-ethip4udp-10u1000p-conc *** Keywords *** diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl1sl-100flows-ndrpdr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl1sl-100flows-ndrpdr.robot index 8acd18115e..8e6bcb7bd4 100644 --- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl1sl-100flows-ndrpdr.robot +++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl1sl-100flows-ndrpdr.robot @@ -74,7 +74,7 @@ | ${port_step}= | ${1} | ${trex_stream1_subnet}= | 10.10.10.0/24 | ${trex_stream2_subnet}= | 20.20.20.0/24 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-3n-ethip4udp-10u10p-conc *** Keywords *** diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl1sl-100kflows-ndrpdr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl1sl-100kflows-ndrpdr.robot index 5f200c0e70..dcf6b1c964 100644 --- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl1sl-100kflows-ndrpdr.robot +++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl1sl-100kflows-ndrpdr.robot @@ -74,7 +74,7 @@ | ${port_step}= | ${1} | ${trex_stream1_subnet}= | 10.10.10.0/24 | ${trex_stream2_subnet}= | 20.20.20.0/24 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-3n-ethip4udp-100u1000p-conc *** Keywords *** diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl1sl-10kflows-ndrpdr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl1sl-10kflows-ndrpdr.robot index bcdc9f66e9..5a43e41b37 100644 --- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl1sl-10kflows-ndrpdr.robot +++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl1sl-10kflows-ndrpdr.robot @@ -74,7 +74,7 @@ | ${port_step}= | ${1} | ${trex_stream1_subnet}= | 10.10.10.0/24 | ${trex_stream2_subnet}= | 20.20.20.0/24 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-3n-ethip4udp-10u1000p-conc *** Keywords *** diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl50sf-100flows-ndrpdr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl50sf-100flows-ndrpdr.robot index 6da1d78a32..8c97b59742 100644 --- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl50sf-100flows-ndrpdr.robot +++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl50sf-100flows-ndrpdr.robot @@ -74,7 +74,7 @@ | ${port_step}= | ${1} | ${trex_stream1_subnet}= | 10.10.10.0/24 | ${trex_stream2_subnet}= | 20.20.20.0/24 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-3n-ethip4udp-10u10p-conc *** Keywords *** diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl50sf-100kflows-ndrpdr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl50sf-100kflows-ndrpdr.robot index 83a7b2bc5b..443e6c7341 100644 --- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl50sf-100kflows-ndrpdr.robot +++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl50sf-100kflows-ndrpdr.robot @@ -74,7 +74,7 @@ | ${port_step}= | ${1} | ${trex_stream1_subnet}= | 10.10.10.0/24 | ${trex_stream2_subnet}= | 20.20.20.0/24 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-3n-ethip4udp-100u1000p-conc *** Keywords *** diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl50sf-10kflows-ndrpdr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl50sf-10kflows-ndrpdr.robot index df6d93cd25..5a08b2bc4d 100644 --- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl50sf-10kflows-ndrpdr.robot +++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl50sf-10kflows-ndrpdr.robot @@ -74,7 +74,7 @@ | ${port_step}= | ${1} | ${trex_stream1_subnet}= | 10.10.10.0/24 | ${trex_stream2_subnet}= | 20.20.20.0/24 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-3n-ethip4udp-10u1000p-conc *** Keywords *** diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl50sl-100flows-ndrpdr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl50sl-100flows-ndrpdr.robot index dd8ec71f9f..2dc5ddeb3c 100644 --- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl50sl-100flows-ndrpdr.robot +++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl50sl-100flows-ndrpdr.robot @@ -74,7 +74,7 @@ | ${port_step}= | ${1} | ${trex_stream1_subnet}= | 10.10.10.0/24 | ${trex_stream2_subnet}= | 20.20.20.0/24 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-3n-ethip4udp-10u10p-conc *** Keywords *** diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl50sl-100kflows-ndrpdr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl50sl-100kflows-ndrpdr.robot index 6fa61ee687..2068b80b0a 100644 --- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl50sl-100kflows-ndrpdr.robot +++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl50sl-100kflows-ndrpdr.robot @@ -74,7 +74,7 @@ | ${port_step}= | ${1} | ${trex_stream1_subnet}= | 10.10.10.0/24 | ${trex_stream2_subnet}= | 20.20.20.0/24 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-3n-ethip4udp-100u1000p-conc *** Keywords *** diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl50sl-10kflows-ndrpdr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl50sl-10kflows-ndrpdr.robot index 309b22be91..838c5e1108 100644 --- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl50sl-10kflows-ndrpdr.robot +++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl50sl-10kflows-ndrpdr.robot @@ -74,7 +74,7 @@ | ${port_step}= | ${1} | ${trex_stream1_subnet}= | 10.10.10.0/24 | ${trex_stream2_subnet}= | 20.20.20.0/24 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-3n-ethip4udp-10u1000p-conc *** Keywords *** diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl10sf-100flows-ndrpdr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl10sf-100flows-ndrpdr.robot index 260b778f1c..578c93e1b8 100644 --- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl10sf-100flows-ndrpdr.robot +++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl10sf-100flows-ndrpdr.robot @@ -74,7 +74,7 @@ | ${port_step}= | ${1} | ${trex_stream1_subnet}= | 10.10.10.0/24 | ${trex_stream2_subnet}= | 20.20.20.0/24 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-3n-ethip4udp-10u10p-conc *** Keywords *** diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl10sf-100kflows-ndrpdr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl10sf-100kflows-ndrpdr.robot index 811a6a3707..64dc87dcdf 100644 --- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl10sf-100kflows-ndrpdr.robot +++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl10sf-100kflows-ndrpdr.robot @@ -74,7 +74,7 @@ | ${port_step}= | ${1} | ${trex_stream1_subnet}= | 10.10.10.0/24 | ${trex_stream2_subnet}= | 20.20.20.0/24 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-3n-ethip4udp-100u1000p-conc *** Keywords *** diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl10sf-10kflows-ndrpdr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl10sf-10kflows-ndrpdr.robot index 6abfb81b28..d3b65f42ec 100644 --- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl10sf-10kflows-ndrpdr.robot +++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl10sf-10kflows-ndrpdr.robot @@ -74,7 +74,7 @@ | ${port_step}= | ${1} | ${trex_stream1_subnet}= | 10.10.10.0/24 | ${trex_stream2_subnet}= | 20.20.20.0/24 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-3n-ethip4udp-10u1000p-conc *** Keywords *** diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl10sl-100flows-ndrpdr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl10sl-100flows-ndrpdr.robot index 4591c06983..4293a3182f 100644 --- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl10sl-100flows-ndrpdr.robot +++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl10sl-100flows-ndrpdr.robot @@ -74,7 +74,7 @@ | ${port_step}= | ${1} | ${trex_stream1_subnet}= | 10.10.10.0/24 | ${trex_stream2_subnet}= | 20.20.20.0/24 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-3n-ethip4udp-10u10p-conc *** Keywords *** diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl10sl-100kflows-ndrpdr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl10sl-100kflows-ndrpdr.robot index 2d4175a3ca..402cbd43e7 100644 --- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl10sl-100kflows-ndrpdr.robot +++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl10sl-100kflows-ndrpdr.robot @@ -74,7 +74,7 @@ | ${port_step}= | ${1} | ${trex_stream1_subnet}= | 10.10.10.0/24 | ${trex_stream2_subnet}= | 20.20.20.0/24 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-3n-ethip4udp-100u1000p-conc *** Keywords *** diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl10sl-10kflows-ndrpdr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl10sl-10kflows-ndrpdr.robot index aff7e7f3a6..1ba7cdf821 100644 --- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl10sl-10kflows-ndrpdr.robot +++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl10sl-10kflows-ndrpdr.robot @@ -74,7 +74,7 @@ | ${port_step}= | ${1} | ${trex_stream1_subnet}= | 10.10.10.0/24 | ${trex_stream2_subnet}= | 20.20.20.0/24 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-3n-ethip4udp-10u1000p-conc *** Keywords *** diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl1sf-100flows-ndrpdr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl1sf-100flows-ndrpdr.robot index d1489480d9..7bb8154fef 100644 --- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl1sf-100flows-ndrpdr.robot +++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl1sf-100flows-ndrpdr.robot @@ -74,7 +74,7 @@ | ${port_step}= | ${1} | ${trex_stream1_subnet}= | 10.10.10.0/24 | ${trex_stream2_subnet}= | 20.20.20.0/24 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-3n-ethip4udp-10u10p-conc *** Keywords *** diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl1sf-100kflows-ndrpdr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl1sf-100kflows-ndrpdr.robot index b639b462de..b529c4d1b4 100644 --- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl1sf-100kflows-ndrpdr.robot +++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl1sf-100kflows-ndrpdr.robot @@ -74,7 +74,7 @@ | ${port_step}= | ${1} | ${trex_stream1_subnet}= | 10.10.10.0/24 | ${trex_stream2_subnet}= | 20.20.20.0/24 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-3n-ethip4udp-100u1000p-conc *** Keywords *** diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl1sf-10kflows-ndrpdr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl1sf-10kflows-ndrpdr.robot index f7e422f8a0..16cc90306c 100644 --- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl1sf-10kflows-ndrpdr.robot +++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl1sf-10kflows-ndrpdr.robot @@ -74,7 +74,7 @@ | ${port_step}= | ${1} | ${trex_stream1_subnet}= | 10.10.10.0/24 | ${trex_stream2_subnet}= | 20.20.20.0/24 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-3n-ethip4udp-10u1000p-conc *** Keywords *** diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl1sl-100flows-ndrpdr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl1sl-100flows-ndrpdr.robot index d691960d55..afc9d49d95 100644 --- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl1sl-100flows-ndrpdr.robot +++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl1sl-100flows-ndrpdr.robot @@ -74,7 +74,7 @@ | ${port_step}= | ${1} | ${trex_stream1_subnet}= | 10.10.10.0/24 | ${trex_stream2_subnet}= | 20.20.20.0/24 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-3n-ethip4udp-10u10p-conc *** Keywords *** diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl1sl-100kflows-ndrpdr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl1sl-100kflows-ndrpdr.robot index 4cb6385712..d48b1db27d 100644 --- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl1sl-100kflows-ndrpdr.robot +++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl1sl-100kflows-ndrpdr.robot @@ -74,7 +74,7 @@ | ${port_step}= | ${1} | ${trex_stream1_subnet}= | 10.10.10.0/24 | ${trex_stream2_subnet}= | 20.20.20.0/24 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-3n-ethip4udp-100u1000p-conc *** Keywords *** diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl1sl-10kflows-ndrpdr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl1sl-10kflows-ndrpdr.robot index 6a81eb5317..7f461b4e3f 100644 --- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl1sl-10kflows-ndrpdr.robot +++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl1sl-10kflows-ndrpdr.robot @@ -74,7 +74,7 @@ | ${port_step}= | ${1} | ${trex_stream1_subnet}= | 10.10.10.0/24 | ${trex_stream2_subnet}= | 20.20.20.0/24 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-3n-ethip4udp-10u1000p-conc *** Keywords *** diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl50sf-100flows-ndrpdr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl50sf-100flows-ndrpdr.robot index 5d48849e00..9600a10370 100644 --- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl50sf-100flows-ndrpdr.robot +++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl50sf-100flows-ndrpdr.robot @@ -74,7 +74,7 @@ | ${port_step}= | ${1} | ${trex_stream1_subnet}= | 10.10.10.0/24 | ${trex_stream2_subnet}= | 20.20.20.0/24 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-3n-ethip4udp-10u10p-conc *** Keywords *** diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl50sf-100kflows-ndrpdr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl50sf-100kflows-ndrpdr.robot index 9cd248d737..c0b1442ec8 100644 --- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl50sf-100kflows-ndrpdr.robot +++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl50sf-100kflows-ndrpdr.robot @@ -74,7 +74,7 @@ | ${port_step}= | ${1} | ${trex_stream1_subnet}= | 10.10.10.0/24 | ${trex_stream2_subnet}= | 20.20.20.0/24 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-3n-ethip4udp-100u1000p-conc *** Keywords *** diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl50sf-10kflows-ndrpdr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl50sf-10kflows-ndrpdr.robot index 554867afef..696dc3f756 100644 --- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl50sf-10kflows-ndrpdr.robot +++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl50sf-10kflows-ndrpdr.robot @@ -74,7 +74,7 @@ | ${port_step}= | ${1} | ${trex_stream1_subnet}= | 10.10.10.0/24 | ${trex_stream2_subnet}= | 20.20.20.0/24 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-3n-ethip4udp-10u1000p-conc *** Keywords *** diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl50sl-100flows-ndrpdr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl50sl-100flows-ndrpdr.robot index 556815764a..a15049c7d1 100644 --- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl50sl-100flows-ndrpdr.robot +++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl50sl-100flows-ndrpdr.robot @@ -74,7 +74,7 @@ | ${port_step}= | ${1} | ${trex_stream1_subnet}= | 10.10.10.0/24 | ${trex_stream2_subnet}= | 20.20.20.0/24 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-3n-ethip4udp-10u10p-conc *** Keywords *** diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl50sl-100kflows-ndrpdr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl50sl-100kflows-ndrpdr.robot index 0512e723fd..f8d51a3aeb 100644 --- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl50sl-100kflows-ndrpdr.robot +++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl50sl-100kflows-ndrpdr.robot @@ -74,7 +74,7 @@ | ${port_step}= | ${1} | ${trex_stream1_subnet}= | 10.10.10.0/24 | ${trex_stream2_subnet}= | 20.20.20.0/24 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-3n-ethip4udp-100u1000p-conc *** Keywords *** diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl50sl-10kflows-ndrpdr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl50sl-10kflows-ndrpdr.robot index e7b5ce1b19..e3e3414e76 100644 --- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl50sl-10kflows-ndrpdr.robot +++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-oacl50sl-10kflows-ndrpdr.robot @@ -74,7 +74,7 @@ | ${port_step}= | ${1} | ${trex_stream1_subnet}= | 10.10.10.0/24 | ${trex_stream2_subnet}= | 20.20.20.0/24 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-3n-ethip4udp-10u1000p-conc *** Keywords *** diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-dot1q-ip4base-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-dot1q-ip4base-ndrpdr.robot index 0f8ad95031..c70585dbfb 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-dot1q-ip4base-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-dot1q-ip4base-ndrpdr.robot @@ -64,7 +64,7 @@ # TG subnets used by T-Rex | ${tg_if1_net}= | 10.10.10.0 | ${tg_if2_net}= | 20.20.20.0 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-2n-dot1qip4asym-ip4src254 *** Keywords *** diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4-ip4base-copwhtlistbase-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4-ip4base-copwhtlistbase-ndrpdr.robot index 0b2250c6b0..1ec02d2fc3 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4-ip4base-copwhtlistbase-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4-ip4base-copwhtlistbase-ndrpdr.robot @@ -58,7 +58,7 @@ | ${nic_vfs}= | 0 | ${osi_layer}= | L3 | ${overhead}= | ${0} -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-2n-ethip4-ip4src253 *** Keywords *** diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4-ip4base-iacldstbase-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4-ip4base-iacldstbase-ndrpdr.robot index 2f6b8123cb..238913461a 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4-ip4base-iacldstbase-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4-ip4base-iacldstbase-ndrpdr.robot @@ -58,7 +58,7 @@ | ${nic_vfs}= | 0 | ${osi_layer}= | L3 | ${overhead}= | ${0} -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-2n-ethip4-ip4src253 *** Keywords *** diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4-ip4base-ipolicemarkbase-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4-ip4base-ipolicemarkbase-ndrpdr.robot index 991beec6e0..5ea69a0ab4 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4-ip4base-ipolicemarkbase-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4-ip4base-ipolicemarkbase-ndrpdr.robot @@ -60,7 +60,7 @@ | ${cir}= | ${100} | ${eir}= | ${150} | ${dscp}= | AF22 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-2n-ethip4-ip4src253 *** Keywords *** @@ -78,14 +78,10 @@ | | | | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} | | -| | ${cb}= | Get Average Frame Size | ${frame_size} -| | ${eb}= | Get Average Frame Size | ${frame_size} -| | | | Set Test Variable | \${frame_size} -| | Set Test Variable | \${cb} -| | Set Test Variable | \${eb} | | | | Given Set Max Rate And Jumbo +| | And Set Rates For Policer | | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} | | And Pre-initialize layer driver | ${nic_driver} | | And Apply startup configuration on all VPP DUTs diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4-ip4base-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4-ip4base-ndrpdr.robot index b244172385..6b40a2df9f 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4-ip4base-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4-ip4base-ndrpdr.robot @@ -57,7 +57,7 @@ | ${nic_vfs}= | 0 | ${osi_layer}= | L3 | ${overhead}= | ${0} -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-2n-ethip4-ip4src253 *** Keywords *** diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4-ip4scale200k-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4-ip4scale200k-ndrpdr.robot index f766c15186..4dbfcccba8 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4-ip4scale200k-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4-ip4scale200k-ndrpdr.robot @@ -57,7 +57,7 @@ | ${osi_layer}= | L3 | ${overhead}= | ${0} | ${rts_per_flow}= | ${100000} -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-2n-ethip4-ip4dst${rts_per_flow} *** Keywords *** diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4-ip4scale200k-rnd-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4-ip4scale200k-rnd-ndrpdr.robot index 79e6ae4a00..e23349edbd 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4-ip4scale200k-rnd-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4-ip4scale200k-rnd-ndrpdr.robot @@ -58,7 +58,7 @@ | ${osi_layer}= | L3 | ${overhead}= | ${0} | ${rts_per_flow}= | ${100000} -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-2n-ethip4-ip4dst-rnd${rts_per_flow} *** Keywords *** diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4-ip4scale20k-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4-ip4scale20k-ndrpdr.robot index dc24444dd8..e27bedc849 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4-ip4scale20k-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4-ip4scale20k-ndrpdr.robot @@ -57,7 +57,7 @@ | ${osi_layer}= | L3 | ${overhead}= | ${0} | ${rts_per_flow}= | ${10000} -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-2n-ethip4-ip4dst${rts_per_flow} *** Keywords *** diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4-ip4scale20k-rnd-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4-ip4scale20k-rnd-ndrpdr.robot index 91da04bd0b..ee3c500ac2 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4-ip4scale20k-rnd-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4-ip4scale20k-rnd-ndrpdr.robot @@ -58,7 +58,7 @@ | ${osi_layer}= | L3 | ${overhead}= | ${0} | ${rts_per_flow}= | ${10000} -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-2n-ethip4-ip4dst-rnd${rts_per_flow} *** Keywords *** diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4-ip4scale2m-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4-ip4scale2m-ndrpdr.robot index dcb016305b..2c9419bd5a 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4-ip4scale2m-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4-ip4scale2m-ndrpdr.robot @@ -57,7 +57,7 @@ | ${osi_layer}= | L3 | ${overhead}= | ${0} | ${rts_per_flow}= | ${1000000} -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-2n-ethip4-ip4dst${rts_per_flow} *** Keywords *** diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4-ip4scale2m-rnd-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4-ip4scale2m-rnd-ndrpdr.robot index 9d4baf6584..37e6297659 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4-ip4scale2m-rnd-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4-ip4scale2m-rnd-ndrpdr.robot @@ -59,7 +59,7 @@ | ${osi_layer}= | L3 | ${overhead}= | ${0} | ${rts_per_flow}= | ${1000000} -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-2n-ethip4-ip4dst-rnd${rts_per_flow} *** Keywords *** diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h1024-p63-s64512-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h1024-p63-s64512-cps-ndrpdr.robot index e402382c20..984454c948 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h1024-p63-s64512-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h1024-p63-s64512-cps-ndrpdr.robot @@ -15,9 +15,9 @@ | Resource | resources/libraries/robot/shared/default.robot | | Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR -| ... | NIC_Intel-X710 | ETH | IP4FWD | BASE | IP4BASE | DRV_VFIO_PCI | TCP_SYN -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip4tcp-ip4base-h1024-p63-s64512 +| ... | NIC_Intel-X710 | ETH | IP4FWD | IP4BASE | TCP | TCP_CPS | DRV_VFIO_PCI +| ... | SCALE | HOSTS_1024 | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4tcp-ip4base-h1024-p63-s64512-cps | | Suite Setup | Setup suite topology interfaces | performance | Suite Teardown | Tear down suite | performance @@ -26,21 +26,21 @@ | | Test Template | Local Template | -| Documentation | *RFC2544: Pkt throughput IPv4 routing test cases* +| Documentation | *PPS on lightweight TCP transactions with IPv4 routing* | -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ | ... | with single links between nodes. | ... | *[Enc] Packet Encapsulations:* Eth-IPv4-TCP for IPv4 routing. -| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4 -| ... | routing and two static IPv4 /24 route entries. DUT1 tested with -| ... | ${nic_name}.\ +| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4\ +| ... | routing and two static IPv4 /24 route entries. DUT1 tested with\ +| ... | ${nic_name}. | ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\ | ... | Rate) with zero packet loss tolerance and throughput PDR (Partial Drop\ | ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage\ | ... | of packets transmitted. NDR and PDR are discovered for different\ | ... | Ethernet L2 frame sizes using MLRsearch library.\ | ... | Test packets are generated by TG on links to DUTs. TG traffic profile\ -| ... | contain L7 flows (${cps} bi-directional UDP flows) with all packets\ +| ... | contain L7 flows (${cps} bi-directional TCP flows) with all packets\ | ... | containing Ethernet header, IPv4 header with TCP header and static\ | ... | payload. MAC addresses are matching MAC addresses of the TG node\ | ... | interfaces. @@ -57,12 +57,16 @@ | ${nic_vfs}= | 0 | ${osi_layer}= | L7 | ${overhead}= | ${0} -# Traffic profile: -| ${traffic_profile}= | trex-astf-ethip4tcp-1024h -| ${cps}= | ${64512} -# Trial data overwrite -| ${trial_duration}= | ${1.1} -| ${trial_multiplicity}= | ${1} +# Scale settings +| ${n_hosts}= | ${1024} +| ${n_ports}= | ${63} +| ${transaction_scale}= | ${${n_hosts} * ${n_ports}} +| ${packets_per_transaction_and_direction}= | ${4} +| ${packets_per_transaction_aggregated}= | ${7} +# Traffic profile +| ${traffic_profile}= | trex-astf-ethip4tcp-${n_hosts}h +| ${transaction_type}= | tcp_cps +| ${disable_latency}= | ${True} *** Keywords *** | Local Template @@ -80,7 +84,6 @@ | | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} | | | | Set Test Variable | \${frame_size} -| | Set Test Variable | \${max_rate} | ${cps} | | ${pre_stats}= | Create List | | ... | vpp-clear-stats | vpp-enable-packettrace | vpp-enable-elog | | ... | vpp-clear-runtime @@ -90,7 +93,7 @@ | | ... | vpp-show-runtime | | Set Test Variable | ${post_stats} | | -| | Given Set Jumbo +| | Given Set Max Rate And Jumbo | | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} | | And Pre-initialize layer driver | ${nic_driver} | | And Apply startup configuration on all VPP DUTs @@ -98,53 +101,17 @@ | | And Initialize layer interface | | And Initialize IPv4 forwarding in circular topology | | ... | 192.168.0.0 | 20.0.0.0 | ${22} -| | Then Find NDR and PDR intervals using optimized search | latency=${False} +| | Then Find NDR and PDR intervals using optimized search *** Test Cases *** -| 64B-1c-ethip4tcp-ip4base-h1024-p63-s64512-ndrpdr +| 64B-1c-ethip4tcp-ip4base-h1024-p63-s64512-cps-ndrpdr | | [Tags] | 64B | 1C | | frame_size=${64} | phy_cores=${1} -| 64B-2c-ethip4tcp-ip4base-h1024-p63-s64512-ndrpdr +| 64B-2c-ethip4tcp-ip4base-h1024-p63-s64512-cps-ndrpdr | | [Tags] | 64B | 2C | | frame_size=${64} | phy_cores=${2} -| 64B-4c-ethip4tcp-ip4base-h1024-p63-s64512-ndrpdr +| 64B-4c-ethip4tcp-ip4base-h1024-p63-s64512-cps-ndrpdr | | [Tags] | 64B | 4C | | frame_size=${64} | phy_cores=${4} - -| 1518B-1c-ethip4tcp-ip4base-h1024-p63-s64512-ndrpdr -| | [Tags] | 1518B | 1C -| | frame_size=${1518} | phy_cores=${1} - -| 1518B-2c-ethip4tcp-ip4base-h1024-p63-s64512-ndrpdr -| | [Tags] | 1518B | 2C -| | frame_size=${1518} | phy_cores=${2} - -| 1518B-4c-ethip4tcp-ip4base-h1024-p63-s64512-ndrpdr -| | [Tags] | 1518B | 4C -| | frame_size=${1518} | phy_cores=${4} - -| 9000B-1c-ethip4tcp-ip4base-h1024-p63-s64512-ndrpdr -| | [Tags] | 9000B | 1C -| | frame_size=${9000} | phy_cores=${1} - -| 9000B-2c-ethip4tcp-ip4base-h1024-p63-s64512-ndrpdr -| | [Tags] | 9000B | 2C -| | frame_size=${9000} | phy_cores=${2} - -| 9000B-4c-ethip4tcp-ip4base-h1024-p63-s64512-ndrpdr -| | [Tags] | 9000B | 4C -| | frame_size=${9000} | phy_cores=${4} - -| IMIX-1c-ethip4tcp-ip4base-h1024-p63-s64512-ndrpdr -| | [Tags] | IMIX | 1C -| | frame_size=IMIX_v4_1 | phy_cores=${1} - -| IMIX-2c-ethip4tcp-ip4base-h1024-p63-s64512-ndrpdr -| | [Tags] | IMIX | 2C -| | frame_size=IMIX_v4_1 | phy_cores=${2} - -| IMIX-4c-ethip4tcp-ip4base-h1024-p63-s64512-ndrpdr -| | [Tags] | IMIX | 4C -| | frame_size=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h1024-p63-s64512-pps-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h1024-p63-s64512-pps-ndrpdr.robot new file mode 100644 index 0000000000..26bf1604ba --- /dev/null +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h1024-p63-s64512-pps-ndrpdr.robot @@ -0,0 +1,116 @@ +# Copyright (c) 2020 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR +| ... | NIC_Intel-X710 | ETH | IP4FWD | IP4BASE | TCP | TCP_PPS | DRV_VFIO_PCI +| ... | SCALE | HOSTS_1024 | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4tcp-ip4base-h1024-p63-s64512-pps +| +| Suite Setup | Setup suite topology interfaces | performance +| Suite Teardown | Tear down suite | performance +| Test Setup | Setup test | performance +| Test Teardown | Tear down test | performance +| +| Test Template | Local Template +| +| # TODO CSIT-1765: Unify suite Documentation. +| Documentation | *PPS on lightweight TCP transactions with IPv4 routing* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-TCP for IPv4 routing. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4\ +| ... | routing and two static IPv4 /24 route entries. DUT1 tested with\ +| ... | ${nic_name}. +| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\ +| ... | Rate) with zero packet loss tolerance and throughput PDR (Partial Drop\ +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage\ +| ... | of packets transmitted. NDR and PDR are discovered for different\ +| ... | Ethernet L2 frame sizes using MLRsearch library.\ +| ... | Test packets are generated by TG on links to DUTs. TG traffic profile\ +| ... | contains client and server ASTF programs, generating packets containing\ +| ... | Ethernet header, IPv4 header, TCP header and static payload.\ +| ... | MAC addresses are matching MAC addresses of the TG node interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${osi_layer}= | L7 +| ${overhead}= | ${0} +# Scale settings +| ${n_hosts}= | ${1024} +| ${n_ports}= | ${63} +| ${packets_per_transaction_and_direction}= | ${11} +| ${transaction_scale}= | ${${n_hosts} * ${n_ports}} +# Traffic profile: +| ${traffic_profile}= | trex-astf-ethip4tcp-${n_hosts}h-pps +| ${transaction_type}= | tcp_pps +| ${disable_latency}= | ${True} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config.\ +| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads. +| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\ +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). +| | ... | Type: integer, string +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | ${pre_stats}= | Create List +| | ... | vpp-clear-stats | vpp-enable-packettrace | vpp-enable-elog +| | ... | vpp-clear-runtime +| | Set Test Variable | ${pre_stats} +| | ${post_stats}= | Create List +| | ... | vpp-show-stats | vpp-show-packettrace | vpp-show-elog +| | ... | vpp-show-runtime +| | Set Test Variable | ${post_stats} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize IPv4 forwarding in circular topology +| | ... | 192.168.0.0 | 20.0.0.0 | ${22} +| | Then Find NDR and PDR intervals using optimized search + +*** Test Cases *** +| 64B-1c-ethip4tcp-ip4base-h1024-p63-s64512-pps-ndrpdr +| | [Tags] | 64B | 1C +| | frame_size=${64} | phy_cores=${1} + +| 64B-2c-ethip4tcp-ip4base-h1024-p63-s64512-pps-ndrpdr +| | [Tags] | 64B | 2C +| | frame_size=${64} | phy_cores=${2} + +| 64B-4c-ethip4tcp-ip4base-h1024-p63-s64512-pps-ndrpdr +| | [Tags] | 64B | 4C +| | frame_size=${64} | phy_cores=${4} diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h16384-p63-s1032192-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h16384-p63-s1032192-cps-ndrpdr.robot index 45ba61ef42..93adf5bfef 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h16384-p63-s1032192-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h16384-p63-s1032192-cps-ndrpdr.robot @@ -15,9 +15,9 @@ | Resource | resources/libraries/robot/shared/default.robot | | Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR -| ... | NIC_Intel-X710 | ETH | IP4FWD | BASE | IP4BASE | DRV_VFIO_PCI | TCP_SYN -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip4tcp-ip4base-h16384-p63-s1032192 +| ... | NIC_Intel-X710 | ETH | IP4FWD | IP4BASE | TCP | TCP_CPS | DRV_VFIO_PCI +| ... | SCALE | HOSTS_16384 | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4tcp-ip4base-h16384-p63-s1032192-cps | | Suite Setup | Setup suite topology interfaces | performance | Suite Teardown | Tear down suite | performance @@ -26,14 +26,14 @@ | | Test Template | Local Template | -| Documentation | *RFC2544: Pkt throughput IPv4 routing test cases* +| Documentation | *CPS on empty TCP transactions with IPv4 routing* | -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ | ... | with single links between nodes. | ... | *[Enc] Packet Encapsulations:* Eth-IPv4-TCP for IPv4 routing. -| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4 -| ... | routing and two static IPv4 /24 route entries. DUT1 tested with -| ... | ${nic_name}.\ +| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4\ +| ... | routing and two static IPv4 /24 route entries. DUT1 tested with\ +| ... | ${nic_name}. | ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\ | ... | Rate) with zero packet loss tolerance and throughput PDR (Partial Drop\ | ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage\ @@ -41,7 +41,7 @@ | ... | Ethernet L2 frame sizes using MLRsearch library.\ | ... | Test packets are generated by TG on links to DUTs. TG traffic profile\ | ... | contain L7 flows (${cps} bi-directional TCP flows) with all packets\ -| ... | containing Ethernet header, IPv4 header with UDP header and static\ +| ... | containing Ethernet header, IPv4 header with TCP header and static\ | ... | payload. MAC addresses are matching MAC addresses of the TG node\ | ... | interfaces. | ... | *[Ref] Applicable standard specifications:* RFC2544. @@ -57,12 +57,16 @@ | ${nic_vfs}= | 0 | ${osi_layer}= | L7 | ${overhead}= | ${0} -# Traffic profile: -| ${traffic_profile}= | trex-astf-ethip4tcp-16384h -| ${cps}= | ${1032192} -# Trial data overwrite -| ${trial_duration}= | ${1.1} -| ${trial_multiplicity}= | ${1} +# Scale settings +| ${n_hosts}= | ${16384} +| ${n_ports}= | ${63} +| ${transaction_scale}= | ${${n_hosts} * ${n_ports}} +| ${packets_per_transaction_and_direction}= | ${4} +| ${packets_per_transaction_aggregated}= | ${7} +# Traffic profile +| ${traffic_profile}= | trex-astf-ethip4tcp-${n_hosts}h +| ${transaction_type}= | tcp_cps +| ${disable_latency}= | ${True} *** Keywords *** | Local Template @@ -80,7 +84,6 @@ | | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} | | | | Set Test Variable | \${frame_size} -| | Set Test Variable | \${max_rate} | ${cps} | | ${pre_stats}= | Create List | | ... | vpp-clear-stats | vpp-enable-packettrace | vpp-enable-elog | | ... | vpp-clear-runtime @@ -90,7 +93,7 @@ | | ... | vpp-show-runtime | | Set Test Variable | ${post_stats} | | -| | Given Set Jumbo +| | Given Set Max Rate And Jumbo | | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} | | And Pre-initialize layer driver | ${nic_driver} | | And Apply startup configuration on all VPP DUTs @@ -98,53 +101,17 @@ | | And Initialize layer interface | | And Initialize IPv4 forwarding in circular topology | | ... | 192.168.0.0 | 20.0.0.0 | ${18} -| | Then Find NDR and PDR intervals using optimized search | latency=${False} +| | Then Find NDR and PDR intervals using optimized search *** Test Cases *** -| 64B-1c-ethip4tcp-ip4base-h16384-p63-s1032192-ndrpdr +| 64B-1c-ethip4tcp-ip4base-h16384-p63-s1032192-cps-ndrpdr | | [Tags] | 64B | 1C | | frame_size=${64} | phy_cores=${1} -| 64B-2c-ethip4tcp-ip4base-h16384-p63-s1032192-ndrpdr +| 64B-2c-ethip4tcp-ip4base-h16384-p63-s1032192-cps-ndrpdr | | [Tags] | 64B | 2C | | frame_size=${64} | phy_cores=${2} -| 64B-4c-ethip4tcp-ip4base-h16384-p63-s1032192-ndrpdr +| 64B-4c-ethip4tcp-ip4base-h16384-p63-s1032192-cps-ndrpdr | | [Tags] | 64B | 4C | | frame_size=${64} | phy_cores=${4} - -| 1518B-1c-ethip4tcp-ip4base-h16384-p63-s1032192-ndrpdr -| | [Tags] | 1518B | 1C -| | frame_size=${1518} | phy_cores=${1} - -| 1518B-2c-ethip4tcp-ip4base-h16384-p63-s1032192-ndrpdr -| | [Tags] | 1518B | 2C -| | frame_size=${1518} | phy_cores=${2} - -| 1518B-4c-ethip4tcp-ip4base-h16384-p63-s1032192-ndrpdr -| | [Tags] | 1518B | 4C -| | frame_size=${1518} | phy_cores=${4} - -| 9000B-1c-ethip4tcp-ip4base-h16384-p63-s1032192-ndrpdr -| | [Tags] | 9000B | 1C -| | frame_size=${9000} | phy_cores=${1} - -| 9000B-2c-ethip4tcp-ip4base-h16384-p63-s1032192-ndrpdr -| | [Tags] | 9000B | 2C -| | frame_size=${9000} | phy_cores=${2} - -| 9000B-4c-ethip4tcp-ip4base-h16384-p63-s1032192-ndrpdr -| | [Tags] | 9000B | 4C -| | frame_size=${9000} | phy_cores=${4} - -| IMIX-1c-ethip4tcp-ip4base-h16384-p63-s1032192-ndrpdr -| | [Tags] | IMIX | 1C -| | frame_size=IMIX_v4_1 | phy_cores=${1} - -| IMIX-2c-ethip4tcp-ip4base-h16384-p63-s1032192-ndrpdr -| | [Tags] | IMIX | 2C -| | frame_size=IMIX_v4_1 | phy_cores=${2} - -| IMIX-4c-ethip4tcp-ip4base-h16384-p63-s1032192-ndrpdr -| | [Tags] | IMIX | 4C -| | frame_size=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h16384-p63-s1032192-pps-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h16384-p63-s1032192-pps-ndrpdr.robot new file mode 100644 index 0000000000..c0b2193157 --- /dev/null +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h16384-p63-s1032192-pps-ndrpdr.robot @@ -0,0 +1,116 @@ +# Copyright (c) 2020 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR +| ... | NIC_Intel-X710 | ETH | IP4FWD | IP4BASE | TCP | TCP_PPS | DRV_VFIO_PCI +| ... | SCALE | HOSTS_16384 | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4tcp-ip4base-h16384-p63-s1032192-pps +| +| Suite Setup | Setup suite topology interfaces | performance +| Suite Teardown | Tear down suite | performance +| Test Setup | Setup test | performance +| Test Teardown | Tear down test | performance +| +| Test Template | Local Template +| +| # TODO CSIT-1765: Unify suite Documentation. +| Documentation | *PPS on lightweight TCP transactions with IPv4 routing* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-TCP for IPv4 routing. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4\ +| ... | routing and two static IPv4 /24 route entries. DUT1 tested with\ +| ... | ${nic_name}. +| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\ +| ... | Rate) with zero packet loss tolerance and throughput PDR (Partial Drop\ +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage\ +| ... | of packets transmitted. NDR and PDR are discovered for different\ +| ... | Ethernet L2 frame sizes using MLRsearch library.\ +| ... | Test packets are generated by TG on links to DUTs. TG traffic profile\ +| ... | contains client and server ASTF programs, generating packets containing\ +| ... | Ethernet header, IPv4 header, TCP header and static payload.\ +| ... | MAC addresses are matching MAC addresses of the TG node interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${osi_layer}= | L7 +| ${overhead}= | ${0} +# Scale settings +| ${n_hosts}= | ${16384} +| ${n_ports}= | ${63} +| ${packets_per_transaction_and_direction}= | ${11} +| ${transaction_scale}= | ${${n_hosts} * ${n_ports}} +# Traffic profile: +| ${traffic_profile}= | trex-astf-ethip4tcp-${n_hosts}h-pps +| ${transaction_type}= | tcp_pps +| ${disable_latency}= | ${True} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config.\ +| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads. +| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\ +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). +| | ... | Type: integer, string +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | ${pre_stats}= | Create List +| | ... | vpp-clear-stats | vpp-enable-packettrace | vpp-enable-elog +| | ... | vpp-clear-runtime +| | Set Test Variable | ${pre_stats} +| | ${post_stats}= | Create List +| | ... | vpp-show-stats | vpp-show-packettrace | vpp-show-elog +| | ... | vpp-show-runtime +| | Set Test Variable | ${post_stats} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize IPv4 forwarding in circular topology +| | ... | 192.168.0.0 | 20.0.0.0 | ${18} +| | Then Find NDR and PDR intervals using optimized search + +*** Test Cases *** +| 64B-1c-ethip4tcp-ip4base-h16384-p63-s1032192-pps-ndrpdr +| | [Tags] | 64B | 1C +| | frame_size=${64} | phy_cores=${1} + +| 64B-2c-ethip4tcp-ip4base-h16384-p63-s1032192-pps-ndrpdr +| | [Tags] | 64B | 2C +| | frame_size=${64} | phy_cores=${2} + +| 64B-4c-ethip4tcp-ip4base-h16384-p63-s1032192-pps-ndrpdr +| | [Tags] | 64B | 4C +| | frame_size=${64} | phy_cores=${4} diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h262144-p63-s16515072-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h262144-p63-s16515072-cps-ndrpdr.robot index b3d1f84c8c..5892edea9d 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h262144-p63-s16515072-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h262144-p63-s16515072-cps-ndrpdr.robot @@ -15,9 +15,9 @@ | Resource | resources/libraries/robot/shared/default.robot | | Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR -| ... | NIC_Intel-X710 | ETH | IP4FWD | BASE | IP4BASE | DRV_VFIO_PCI | TCP_SYN -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip4tcp-ip4base-h262144-p63-s16515072 +| ... | NIC_Intel-X710 | ETH | IP4FWD | IP4BASE | TCP | TCP_CPS | DRV_VFIO_PCI +| ... | SCALE | HOSTS_262144 | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4tcp-ip4base-h262144-p63-s16515072-cps | | Suite Setup | Setup suite topology interfaces | performance | Suite Teardown | Tear down suite | performance @@ -26,14 +26,14 @@ | | Test Template | Local Template | -| Documentation | *RFC2544: Pkt throughput IPv4 routing test cases* +| Documentation | *CPS on empty TCP transactions with IPv4 routing* | -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ | ... | with single links between nodes. | ... | *[Enc] Packet Encapsulations:* Eth-IPv4-TCP for IPv4 routing. -| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4 -| ... | routing and two static IPv4 /24 route entries. DUT1 tested with -| ... | ${nic_name}.\ +| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4\ +| ... | routing and two static IPv4 /24 route entries. DUT1 tested with\ +| ... | ${nic_name}. | ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\ | ... | Rate) with zero packet loss tolerance and throughput PDR (Partial Drop\ | ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage\ @@ -41,7 +41,7 @@ | ... | Ethernet L2 frame sizes using MLRsearch library.\ | ... | Test packets are generated by TG on links to DUTs. TG traffic profile\ | ... | contain L7 flows (${cps} bi-directional TCP flows) with all packets\ -| ... | containing Ethernet header, IPv4 header with UDP header and static\ +| ... | containing Ethernet header, IPv4 header with TCP header and static\ | ... | payload. MAC addresses are matching MAC addresses of the TG node\ | ... | interfaces. | ... | *[Ref] Applicable standard specifications:* RFC2544. @@ -57,12 +57,16 @@ | ${nic_vfs}= | 0 | ${osi_layer}= | L7 | ${overhead}= | ${0} -# Traffic profile: -| ${traffic_profile}= | trex-astf-ethip4tcp-262144h -| ${cps}= | ${16515072} -# Trial data overwrite -| ${trial_duration}= | ${1.1} -| ${trial_multiplicity}= | ${1} +# Scale settings +| ${n_hosts}= | ${262144} +| ${n_ports}= | ${63} +| ${transaction_scale}= | ${${n_hosts} * ${n_ports}} +| ${packets_per_transaction_and_direction}= | ${4} +| ${packets_per_transaction_aggregated}= | ${7} +# Traffic profile +| ${traffic_profile}= | trex-astf-ethip4tcp-${n_hosts}h +| ${transaction_type}= | tcp_cps +| ${disable_latency}= | ${True} *** Keywords *** | Local Template @@ -80,7 +84,6 @@ | | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} | | | | Set Test Variable | \${frame_size} -| | Set Test Variable | \${max_rate} | ${cps} | | ${pre_stats}= | Create List | | ... | vpp-clear-stats | vpp-enable-packettrace | vpp-enable-elog | | ... | vpp-clear-runtime @@ -90,7 +93,7 @@ | | ... | vpp-show-runtime | | Set Test Variable | ${post_stats} | | -| | Given Set Jumbo +| | Given Set Max Rate And Jumbo | | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} | | And Pre-initialize layer driver | ${nic_driver} | | And Apply startup configuration on all VPP DUTs @@ -98,53 +101,17 @@ | | And Initialize layer interface | | And Initialize IPv4 forwarding in circular topology | | ... | 172.16.0.0 | 20.16.0.0 | ${14} -| | Then Find NDR and PDR intervals using optimized search | latency=${False} +| | Then Find NDR and PDR intervals using optimized search *** Test Cases *** -| 64B-1c-ethip4tcp-ip4base-h262144-p63-s16515072-ndrpdr +| 64B-1c-ethip4tcp-ip4base-h262144-p63-s16515072-cps-ndrpdr | | [Tags] | 64B | 1C | | frame_size=${64} | phy_cores=${1} -| 64B-2c-ethip4tcp-ip4base-h262144-p63-s16515072-ndrpdr +| 64B-2c-ethip4tcp-ip4base-h262144-p63-s16515072-cps-ndrpdr | | [Tags] | 64B | 2C | | frame_size=${64} | phy_cores=${2} -| 64B-4c-ethip4tcp-ip4base-h262144-p63-s16515072-ndrpdr +| 64B-4c-ethip4tcp-ip4base-h262144-p63-s16515072-cps-ndrpdr | | [Tags] | 64B | 4C | | frame_size=${64} | phy_cores=${4} - -| 1518B-1c-ethip4tcp-ip4base-h262144-p63-s16515072-ndrpdr -| | [Tags] | 1518B | 1C -| | frame_size=${1518} | phy_cores=${1} - -| 1518B-2c-ethip4tcp-ip4base-h262144-p63-s16515072-ndrpdr -| | [Tags] | 1518B | 2C -| | frame_size=${1518} | phy_cores=${2} - -| 1518B-4c-ethip4tcp-ip4base-h262144-p63-s16515072-ndrpdr -| | [Tags] | 1518B | 4C -| | frame_size=${1518} | phy_cores=${4} - -| 9000B-1c-ethip4tcp-ip4base-h262144-p63-s16515072-ndrpdr -| | [Tags] | 9000B | 1C -| | frame_size=${9000} | phy_cores=${1} - -| 9000B-2c-ethip4tcp-ip4base-h262144-p63-s16515072-ndrpdr -| | [Tags] | 9000B | 2C -| | frame_size=${9000} | phy_cores=${2} - -| 9000B-4c-ethip4tcp-ip4base-h262144-p63-s16515072-ndrpdr -| | [Tags] | 9000B | 4C -| | frame_size=${9000} | phy_cores=${4} - -| IMIX-1c-ethip4tcp-ip4base-h262144-p63-s16515072-ndrpdr -| | [Tags] | IMIX | 1C -| | frame_size=IMIX_v4_1 | phy_cores=${1} - -| IMIX-2c-ethip4tcp-ip4base-h262144-p63-s16515072-ndrpdr -| | [Tags] | IMIX | 2C -| | frame_size=IMIX_v4_1 | phy_cores=${2} - -| IMIX-4c-ethip4tcp-ip4base-h262144-p63-s16515072-ndrpdr -| | [Tags] | IMIX | 4C -| | frame_size=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h262144-p63-s16515072-pps-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h262144-p63-s16515072-pps-ndrpdr.robot new file mode 100644 index 0000000000..554f4070e7 --- /dev/null +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h262144-p63-s16515072-pps-ndrpdr.robot @@ -0,0 +1,116 @@ +# Copyright (c) 2020 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR +| ... | NIC_Intel-X710 | ETH | IP4FWD | IP4BASE | TCP | TCP_PPS | DRV_VFIO_PCI +| ... | SCALE | HOSTS_262144 | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4tcp-ip4base-h262144-p63-s16515072-pps +| +| Suite Setup | Setup suite topology interfaces | performance +| Suite Teardown | Tear down suite | performance +| Test Setup | Setup test | performance +| Test Teardown | Tear down test | performance +| +| Test Template | Local Template +| +| # TODO CSIT-1765: Unify suite Documentation. +| Documentation | *PPS on lightweight TCP transactions with IPv4 routing* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-TCP for IPv4 routing. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4\ +| ... | routing and two static IPv4 /24 route entries. DUT1 tested with\ +| ... | ${nic_name}. +| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\ +| ... | Rate) with zero packet loss tolerance and throughput PDR (Partial Drop\ +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage\ +| ... | of packets transmitted. NDR and PDR are discovered for different\ +| ... | Ethernet L2 frame sizes using MLRsearch library.\ +| ... | Test packets are generated by TG on links to DUTs. TG traffic profile\ +| ... | contains client and server ASTF programs, generating packets containing\ +| ... | Ethernet header, IPv4 header, TCP header and static payload.\ +| ... | MAC addresses are matching MAC addresses of the TG node interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${osi_layer}= | L7 +| ${overhead}= | ${0} +# Scale settings +| ${n_hosts}= | ${262144} +| ${n_ports}= | ${63} +| ${packets_per_transaction_and_direction}= | ${11} +| ${transaction_scale}= | ${${n_hosts} * ${n_ports}} +# Traffic profile: +| ${traffic_profile}= | trex-astf-ethip4tcp-${n_hosts}h-pps +| ${transaction_type}= | tcp_pps +| ${disable_latency}= | ${True} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config.\ +| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads. +| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\ +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). +| | ... | Type: integer, string +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | ${pre_stats}= | Create List +| | ... | vpp-clear-stats | vpp-enable-packettrace | vpp-enable-elog +| | ... | vpp-clear-runtime +| | Set Test Variable | ${pre_stats} +| | ${post_stats}= | Create List +| | ... | vpp-show-stats | vpp-show-packettrace | vpp-show-elog +| | ... | vpp-show-runtime +| | Set Test Variable | ${post_stats} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize IPv4 forwarding in circular topology +| | ... | 172.16.0.0 | 20.16.0.0 | ${14} +| | Then Find NDR and PDR intervals using optimized search + +*** Test Cases *** +| 64B-1c-ethip4tcp-ip4base-h262144-p63-s16515072-pps-ndrpdr +| | [Tags] | 64B | 1C +| | frame_size=${64} | phy_cores=${1} + +| 64B-2c-ethip4tcp-ip4base-h262144-p63-s16515072-pps-ndrpdr +| | [Tags] | 64B | 2C +| | frame_size=${64} | phy_cores=${2} + +| 64B-4c-ethip4tcp-ip4base-h262144-p63-s16515072-pps-ndrpdr +| | [Tags] | 64B | 4C +| | frame_size=${64} | phy_cores=${4} diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h4096-p63-s258048-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h4096-p63-s258048-cps-ndrpdr.robot index 2229f90c80..96c5bc062f 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h4096-p63-s258048-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h4096-p63-s258048-cps-ndrpdr.robot @@ -15,9 +15,9 @@ | Resource | resources/libraries/robot/shared/default.robot | | Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR -| ... | NIC_Intel-X710 | ETH | IP4FWD | BASE | IP4BASE | DRV_VFIO_PCI | TCP_SYN -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip4tcp-ip4base-h4096-p63-s258048 +| ... | NIC_Intel-X710 | ETH | IP4FWD | IP4BASE | TCP | TCP_CPS | DRV_VFIO_PCI +| ... | SCALE | HOSTS_4096 | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4tcp-ip4base-h4096-p63-s258048-cps | | Suite Setup | Setup suite topology interfaces | performance | Suite Teardown | Tear down suite | performance @@ -26,21 +26,21 @@ | | Test Template | Local Template | -| Documentation | *RFC2544: Pkt throughput IPv4 routing test cases* +| Documentation | *CPS on empty TCP transactions with IPv4 routing* | -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ | ... | with single links between nodes. | ... | *[Enc] Packet Encapsulations:* Eth-IPv4-TCP for IPv4 routing. -| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4 -| ... | routing and two static IPv4 /24 route entries. DUT1 tested with -| ... | ${nic_name}.\ +| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4\ +| ... | routing and two static IPv4 /24 route entries. DUT1 tested with\ +| ... | ${nic_name}. | ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\ | ... | Rate) with zero packet loss tolerance and throughput PDR (Partial Drop\ | ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage\ | ... | of packets transmitted. NDR and PDR are discovered for different\ | ... | Ethernet L2 frame sizes using MLRsearch library.\ | ... | Test packets are generated by TG on links to DUTs. TG traffic profile\ -| ... | contain L7 flows (${cps} bi-directional UDP flows) with all packets\ +| ... | contain L7 flows (${cps} bi-directional TCP flows) with all packets\ | ... | containing Ethernet header, IPv4 header with TCP header and static\ | ... | payload. MAC addresses are matching MAC addresses of the TG node\ | ... | interfaces. @@ -57,12 +57,16 @@ | ${nic_vfs}= | 0 | ${osi_layer}= | L7 | ${overhead}= | ${0} -# Traffic profile: -| ${traffic_profile}= | trex-astf-ethip4tcp-4096h -| ${cps}= | ${258048} -# Trial data overwrite -| ${trial_duration}= | ${1.1} -| ${trial_multiplicity}= | ${1} +# Scale settings +| ${n_hosts}= | ${4096} +| ${n_ports}= | ${63} +| ${transaction_scale}= | ${${n_hosts} * ${n_ports}} +| ${packets_per_transaction_and_direction}= | ${4} +| ${packets_per_transaction_aggregated}= | ${7} +# Traffic profile +| ${traffic_profile}= | trex-astf-ethip4tcp-${n_hosts}h +| ${transaction_type}= | tcp_cps +| ${disable_latency}= | ${True} *** Keywords *** | Local Template @@ -80,7 +84,6 @@ | | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} | | | | Set Test Variable | \${frame_size} -| | Set Test Variable | \${max_rate} | ${cps} | | ${pre_stats}= | Create List | | ... | vpp-clear-stats | vpp-enable-packettrace | vpp-enable-elog | | ... | vpp-clear-runtime @@ -90,7 +93,7 @@ | | ... | vpp-show-runtime | | Set Test Variable | ${post_stats} | | -| | Given Set Jumbo +| | Given Set Max Rate And Jumbo | | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} | | And Pre-initialize layer driver | ${nic_driver} | | And Apply startup configuration on all VPP DUTs @@ -98,53 +101,17 @@ | | And Initialize layer interface | | And Initialize IPv4 forwarding in circular topology | | ... | 192.168.0.0 | 20.0.0.0 | ${20} -| | Then Find NDR and PDR intervals using optimized search | latency=${False} +| | Then Find NDR and PDR intervals using optimized search *** Test Cases *** -| 64B-1c-ethip4tcp-ip4base-h4096-p63-s258048-ndrpdr +| 64B-1c-ethip4tcp-ip4base-h4096-p63-s258048-cps-ndrpdr | | [Tags] | 64B | 1C | | frame_size=${64} | phy_cores=${1} -| 64B-2c-ethip4tcp-ip4base-h4096-p63-s258048-ndrpdr +| 64B-2c-ethip4tcp-ip4base-h4096-p63-s258048-cps-ndrpdr | | [Tags] | 64B | 2C | | frame_size=${64} | phy_cores=${2} -| 64B-4c-ethip4tcp-ip4base-h4096-p63-s258048-ndrpdr +| 64B-4c-ethip4tcp-ip4base-h4096-p63-s258048-cps-ndrpdr | | [Tags] | 64B | 4C | | frame_size=${64} | phy_cores=${4} - -| 1518B-1c-ethip4tcp-ip4base-h4096-p63-s258048-ndrpdr -| | [Tags] | 1518B | 1C -| | frame_size=${1518} | phy_cores=${1} - -| 1518B-2c-ethip4tcp-ip4base-h4096-p63-s258048-ndrpdr -| | [Tags] | 1518B | 2C -| | frame_size=${1518} | phy_cores=${2} - -| 1518B-4c-ethip4tcp-ip4base-h4096-p63-s258048-ndrpdr -| | [Tags] | 1518B | 4C -| | frame_size=${1518} | phy_cores=${4} - -| 9000B-1c-ethip4tcp-ip4base-h4096-p63-s258048-ndrpdr -| | [Tags] | 9000B | 1C -| | frame_size=${9000} | phy_cores=${1} - -| 9000B-2c-ethip4tcp-ip4base-h4096-p63-s258048-ndrpdr -| | [Tags] | 9000B | 2C -| | frame_size=${9000} | phy_cores=${2} - -| 9000B-4c-ethip4tcp-ip4base-h4096-p63-s258048-ndrpdr -| | [Tags] | 9000B | 4C -| | frame_size=${9000} | phy_cores=${4} - -| IMIX-1c-ethip4tcp-ip4base-h4096-p63-s258048-ndrpdr -| | [Tags] | IMIX | 1C -| | frame_size=IMIX_v4_1 | phy_cores=${1} - -| IMIX-2c-ethip4tcp-ip4base-h4096-p63-s258048-ndrpdr -| | [Tags] | IMIX | 2C -| | frame_size=IMIX_v4_1 | phy_cores=${2} - -| IMIX-4c-ethip4tcp-ip4base-h4096-p63-s258048-ndrpdr -| | [Tags] | IMIX | 4C -| | frame_size=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h4096-p63-s258048-pps-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h4096-p63-s258048-pps-ndrpdr.robot new file mode 100644 index 0000000000..9fd4c4229e --- /dev/null +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h4096-p63-s258048-pps-ndrpdr.robot @@ -0,0 +1,116 @@ +# Copyright (c) 2020 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR +| ... | NIC_Intel-X710 | ETH | IP4FWD | IP4BASE | TCP | TCP_PPS | DRV_VFIO_PCI +| ... | SCALE | HOSTS_4096 | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4tcp-ip4base-h4096-p63-s258048-pps +| +| Suite Setup | Setup suite topology interfaces | performance +| Suite Teardown | Tear down suite | performance +| Test Setup | Setup test | performance +| Test Teardown | Tear down test | performance +| +| Test Template | Local Template +| +| # TODO CSIT-1765: Unify suite Documentation. +| Documentation | *PPS on lightweight TCP transactions with IPv4 routing* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-TCP for IPv4 routing. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4\ +| ... | routing and two static IPv4 /24 route entries. DUT1 tested with\ +| ... | ${nic_name}. +| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\ +| ... | Rate) with zero packet loss tolerance and throughput PDR (Partial Drop\ +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage\ +| ... | of packets transmitted. NDR and PDR are discovered for different\ +| ... | Ethernet L2 frame sizes using MLRsearch library.\ +| ... | Test packets are generated by TG on links to DUTs. TG traffic profile\ +| ... | contains client and server ASTF programs, generating packets containing\ +| ... | Ethernet header, IPv4 header, TCP header and static payload.\ +| ... | MAC addresses are matching MAC addresses of the TG node interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${osi_layer}= | L7 +| ${overhead}= | ${0} +# Scale settings +| ${n_hosts}= | ${4096} +| ${n_ports}= | ${63} +| ${packets_per_transaction_and_direction}= | ${11} +| ${transaction_scale}= | ${${n_hosts} * ${n_ports}} +# Traffic profile: +| ${traffic_profile}= | trex-astf-ethip4tcp-${n_hosts}h-pps +| ${transaction_type}= | tcp_pps +| ${disable_latency}= | ${True} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config.\ +| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads. +| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\ +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). +| | ... | Type: integer, string +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | ${pre_stats}= | Create List +| | ... | vpp-clear-stats | vpp-enable-packettrace | vpp-enable-elog +| | ... | vpp-clear-runtime +| | Set Test Variable | ${pre_stats} +| | ${post_stats}= | Create List +| | ... | vpp-show-stats | vpp-show-packettrace | vpp-show-elog +| | ... | vpp-show-runtime +| | Set Test Variable | ${post_stats} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize IPv4 forwarding in circular topology +| | ... | 192.168.0.0 | 20.0.0.0 | ${20} +| | Then Find NDR and PDR intervals using optimized search + +*** Test Cases *** +| 64B-1c-ethip4tcp-ip4base-h4096-p63-s258048-pps-ndrpdr +| | [Tags] | 64B | 1C +| | frame_size=${64} | phy_cores=${1} + +| 64B-2c-ethip4tcp-ip4base-h4096-p63-s258048-pps-ndrpdr +| | [Tags] | 64B | 2C +| | frame_size=${64} | phy_cores=${2} + +| 64B-4c-ethip4tcp-ip4base-h4096-p63-s258048-pps-ndrpdr +| | [Tags] | 64B | 4C +| | frame_size=${64} | phy_cores=${4} diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h65536-p63-s4128768-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h65536-p63-s4128768-cps-ndrpdr.robot index 1a51c68365..ca3d2cfc41 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h65536-p63-s4128768-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h65536-p63-s4128768-cps-ndrpdr.robot @@ -15,9 +15,9 @@ | Resource | resources/libraries/robot/shared/default.robot | | Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR -| ... | NIC_Intel-X710 | ETH | IP4FWD | BASE | IP4BASE | DRV_VFIO_PCI | TCP_SYN -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip4tcp-ip4base-h65536-p63-s4128768 +| ... | NIC_Intel-X710 | ETH | IP4FWD | IP4BASE | TCP | TCP_CPS | DRV_VFIO_PCI +| ... | SCALE | HOSTS_65536 | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4tcp-ip4base-h65536-p63-s4128768-cps | | Suite Setup | Setup suite topology interfaces | performance | Suite Teardown | Tear down suite | performance @@ -26,21 +26,21 @@ | | Test Template | Local Template | -| Documentation | *RFC2544: Pkt throughput IPv4 routing test cases* +| Documentation | *CPS on empty TCP transactions with IPv4 routing* | -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ | ... | with single links between nodes. | ... | *[Enc] Packet Encapsulations:* Eth-IPv4-TCP for IPv4 routing. -| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4 -| ... | routing and two static IPv4 /24 route entries. DUT1 tested with -| ... | ${nic_name}.\ +| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4\ +| ... | routing and two static IPv4 /24 route entries. DUT1 tested with\ +| ... | ${nic_name}. | ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\ | ... | Rate) with zero packet loss tolerance and throughput PDR (Partial Drop\ | ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage\ | ... | of packets transmitted. NDR and PDR are discovered for different\ | ... | Ethernet L2 frame sizes using MLRsearch library.\ | ... | Test packets are generated by TG on links to DUTs. TG traffic profile\ -| ... | contain L7 flows (${cps} bi-directional UDP flows) with all packets\ +| ... | contain L7 flows (${cps} bi-directional TCP flows) with all packets\ | ... | containing Ethernet header, IPv4 header with TCP header and static\ | ... | payload. MAC addresses are matching MAC addresses of the TG node\ | ... | interfaces. @@ -57,12 +57,16 @@ | ${nic_vfs}= | 0 | ${osi_layer}= | L7 | ${overhead}= | ${0} -# Traffic profile: -| ${traffic_profile}= | trex-astf-ethip4tcp-65536h -| ${cps}= | ${4128768} -# Trial data overwrite -| ${trial_duration}= | ${1.1} -| ${trial_multiplicity}= | ${1} +# Scale settings +| ${n_hosts}= | ${65536} +| ${n_ports}= | ${63} +| ${transaction_scale}= | ${${n_hosts} * ${n_ports}} +| ${packets_per_transaction_and_direction}= | ${4} +| ${packets_per_transaction_aggregated}= | ${7} +# Traffic profile +| ${traffic_profile}= | trex-astf-ethip4tcp-${n_hosts}h +| ${transaction_type}= | tcp_cps +| ${disable_latency}= | ${True} *** Keywords *** | Local Template @@ -80,7 +84,6 @@ | | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} | | | | Set Test Variable | \${frame_size} -| | Set Test Variable | \${max_rate} | ${cps} | | ${pre_stats}= | Create List | | ... | vpp-clear-stats | vpp-enable-packettrace | vpp-enable-elog | | ... | vpp-clear-runtime @@ -90,7 +93,7 @@ | | ... | vpp-show-runtime | | Set Test Variable | ${post_stats} | | -| | Given Set Jumbo +| | Given Set Max Rate And Jumbo | | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} | | And Pre-initialize layer driver | ${nic_driver} | | And Apply startup configuration on all VPP DUTs @@ -98,53 +101,17 @@ | | And Initialize layer interface | | And Initialize IPv4 forwarding in circular topology | | ... | 192.168.0.0 | 20.0.0.0 | ${16} -| | Then Find NDR and PDR intervals using optimized search | latency=${False} +| | Then Find NDR and PDR intervals using optimized search *** Test Cases *** -| 64B-1c-ethip4tcp-ip4base-h65536-p63-s4128768-ndrpdr +| 64B-1c-ethip4tcp-ip4base-h65536-p63-s4128768-cps-ndrpdr | | [Tags] | 64B | 1C | | frame_size=${64} | phy_cores=${1} -| 64B-2c-ethip4tcp-ip4base-h65536-p63-s4128768-ndrpdr +| 64B-2c-ethip4tcp-ip4base-h65536-p63-s4128768-cps-ndrpdr | | [Tags] | 64B | 2C | | frame_size=${64} | phy_cores=${2} -| 64B-4c-ethip4tcp-ip4base-h65536-p63-s4128768-ndrpdr +| 64B-4c-ethip4tcp-ip4base-h65536-p63-s4128768-cps-ndrpdr | | [Tags] | 64B | 4C | | frame_size=${64} | phy_cores=${4} - -| 1518B-1c-ethip4tcp-ip4base-h65536-p63-s4128768-ndrpdr -| | [Tags] | 1518B | 1C -| | frame_size=${1518} | phy_cores=${1} - -| 1518B-2c-ethip4tcp-ip4base-h65536-p63-s4128768-ndrpdr -| | [Tags] | 1518B | 2C -| | frame_size=${1518} | phy_cores=${2} - -| 1518B-4c-ethip4tcp-ip4base-h65536-p63-s4128768-ndrpdr -| | [Tags] | 1518B | 4C -| | frame_size=${1518} | phy_cores=${4} - -| 9000B-1c-ethip4tcp-ip4base-h65536-p63-s4128768-ndrpdr -| | [Tags] | 9000B | 1C -| | frame_size=${9000} | phy_cores=${1} - -| 9000B-2c-ethip4tcp-ip4base-h65536-p63-s4128768-ndrpdr -| | [Tags] | 9000B | 2C -| | frame_size=${9000} | phy_cores=${2} - -| 9000B-4c-ethip4tcp-ip4base-h65536-p63-s4128768-ndrpdr -| | [Tags] | 9000B | 4C -| | frame_size=${9000} | phy_cores=${4} - -| IMIX-1c-ethip4tcp-ip4base-h65536-p63-s4128768-ndrpdr -| | [Tags] | IMIX | 1C -| | frame_size=IMIX_v4_1 | phy_cores=${1} - -| IMIX-2c-ethip4tcp-ip4base-h65536-p63-s4128768-ndrpdr -| | [Tags] | IMIX | 2C -| | frame_size=IMIX_v4_1 | phy_cores=${2} - -| IMIX-4c-ethip4tcp-ip4base-h65536-p63-s4128768-ndrpdr -| | [Tags] | IMIX | 4C -| | frame_size=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h65536-p63-s4128768-pps-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h65536-p63-s4128768-pps-ndrpdr.robot new file mode 100644 index 0000000000..7327b854c8 --- /dev/null +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h65536-p63-s4128768-pps-ndrpdr.robot @@ -0,0 +1,116 @@ +# Copyright (c) 2020 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR +| ... | NIC_Intel-X710 | ETH | IP4FWD | IP4BASE | TCP | TCP_PPS | DRV_VFIO_PCI +| ... | SCALE | HOSTS_65536 | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4tcp-ip4base-h65536-p63-s4128768-pps +| +| Suite Setup | Setup suite topology interfaces | performance +| Suite Teardown | Tear down suite | performance +| Test Setup | Setup test | performance +| Test Teardown | Tear down test | performance +| +| Test Template | Local Template +| +| # TODO CSIT-1765: Unify suite Documentation. +| Documentation | *PPS on lightweight TCP transactions with IPv4 routing* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-TCP for IPv4 routing. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4\ +| ... | routing and two static IPv4 /24 route entries. DUT1 tested with\ +| ... | ${nic_name}. +| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\ +| ... | Rate) with zero packet loss tolerance and throughput PDR (Partial Drop\ +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage\ +| ... | of packets transmitted. NDR and PDR are discovered for different\ +| ... | Ethernet L2 frame sizes using MLRsearch library.\ +| ... | Test packets are generated by TG on links to DUTs. TG traffic profile\ +| ... | contains client and server ASTF programs, generating packets containing\ +| ... | Ethernet header, IPv4 header, TCP header and static payload.\ +| ... | MAC addresses are matching MAC addresses of the TG node interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${osi_layer}= | L7 +| ${overhead}= | ${0} +# Scale settings +| ${n_hosts}= | ${65536} +| ${n_ports}= | ${63} +| ${packets_per_transaction_and_direction}= | ${11} +| ${transaction_scale}= | ${${n_hosts} * ${n_ports}} +# Traffic profile: +| ${traffic_profile}= | trex-astf-ethip4tcp-${n_hosts}h-pps +| ${transaction_type}= | tcp_pps +| ${disable_latency}= | ${True} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config.\ +| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads. +| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\ +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). +| | ... | Type: integer, string +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | ${pre_stats}= | Create List +| | ... | vpp-clear-stats | vpp-enable-packettrace | vpp-enable-elog +| | ... | vpp-clear-runtime +| | Set Test Variable | ${pre_stats} +| | ${post_stats}= | Create List +| | ... | vpp-show-stats | vpp-show-packettrace | vpp-show-elog +| | ... | vpp-show-runtime +| | Set Test Variable | ${post_stats} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize IPv4 forwarding in circular topology +| | ... | 192.168.0.0 | 20.0.0.0 | ${16} +| | Then Find NDR and PDR intervals using optimized search + +*** Test Cases *** +| 64B-1c-ethip4tcp-ip4base-h65536-p63-s4128768-pps-ndrpdr +| | [Tags] | 64B | 1C +| | frame_size=${64} | phy_cores=${1} + +| 64B-2c-ethip4tcp-ip4base-h65536-p63-s4128768-pps-ndrpdr +| | [Tags] | 64B | 2C +| | frame_size=${64} | phy_cores=${2} + +| 64B-4c-ethip4tcp-ip4base-h65536-p63-s4128768-pps-ndrpdr +| | [Tags] | 64B | 4C +| | frame_size=${64} | phy_cores=${4} diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44ed-h1024-p63-s64512-cps-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44ed-h1024-p63-s64512-cps-ndrpdr.robot index 905c5526f8..34a7384d45 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44ed-h1024-p63-s64512-cps-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44ed-h1024-p63-s64512-cps-ndrpdr.robot @@ -17,8 +17,8 @@ | Resource | resources/libraries/robot/shared/traffic.robot | | Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR -| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | TCP_SYN -| ... | NAT44_ENDPOINT_DEPENDENT | BASE | DRV_VFIO_PCI +| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | TCP | TCP_CPS +| ... | NAT44_ENDPOINT_DEPENDENT | SCALE | HOSTS_1024 | DRV_VFIO_PCI | ... | RXQ_SIZE_0 | TXQ_SIZE_0 | ... | ethip4tcp-nat44ed-h1024-p63-s64512-cps | @@ -29,15 +29,14 @@ | | Test Template | Local Template | -| Documentation | *Connections per second NAT44 endpoint-dependent mode -| ... | performance test cases* +| Documentation | *CPS on empty TCP transactions with NAT44ED* | -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ | ... | with single links between nodes. | ... | *[Enc] Packet Encapsulations:* Eth-IPv4-TCP for IPv4 routing. | ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4 routing and -| ... | one static IPv4 /18 route entries. -| ... | DUT1 is tested with ${nic_name}.\ +| ... | one static IPv4 /18 route entries.\ +| ... | DUT1 is tested with ${nic_name}. | ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\ | ... | Rate) with zero packet loss tolerance and throughput PDR (Partial Drop\ | ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage\ @@ -85,12 +84,13 @@ | ${n_hosts}= | ${1024} | ${n_ports}= | ${63} | ${n_sessions}= | ${${n_hosts} * ${n_ports}} -# Traffic profile: -| ${traffic_profile}= | trex-astf-ethip4tcp-1024h -| ${cps}= | ${64512} -# Trial data overwrite -| ${trial_duration}= | ${1.1} -| ${trial_multiplicity}= | ${1} +| ${transaction_scale}= | ${n_sessions} +| ${packets_per_transaction_and_direction}= | ${4} +| ${packets_per_transaction_aggregated}= | ${7} +# Traffic profile +| ${traffic_profile}= | trex-astf-ethip4tcp-${n_hosts}h +| ${transaction_type}= | tcp_cps +| ${disable_latency}= | ${True} *** Keywords *** | Local Template @@ -109,7 +109,6 @@ | | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} | | | | Set Test Variable | \${frame_size} -| | Set Test Variable | \${max_rate} | ${cps} | | ${pre_stats}= | Create List | | ... | vpp-clear-stats | vpp-enable-packettrace | vpp-enable-elog | | ... | vpp-clear-runtime @@ -119,7 +118,7 @@ | | ... | vpp-show-runtime | | Set Test Variable | ${post_stats} | | -| | Given Set Jumbo +| | Given Set Max Rate And Jumbo | | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} | | And Pre-initialize layer driver | ${nic_driver} | | And Add NAT to all DUTs | nat_mode=${nat_mode} @@ -132,7 +131,7 @@ | | And Initialize layer interface | | And Initialize IPv4 forwarding for NAT44 in circular topology | | And Initialize NAT44 endpoint-dependent mode in circular topology -| | Then Find NDR and PDR intervals using optimized search | latency=${False} +| | Then Find NDR and PDR intervals using optimized search *** Test Cases *** | 64B-1c-ethip4tcp-nat44ed-h1024-p63-s64512-cps-ndrpdr @@ -146,39 +145,3 @@ | 64B-4c-ethip4tcp-nat44ed-h1024-p63-s64512-cps-ndrpdr | | [Tags] | 64B | 4C | | frame_size=${64} | phy_cores=${4} - -| 1518B-1c-ethip4tcp-nat44ed-h1024-p63-s64512-cps-ndrpdr -| | [Tags] | 1518B | 1C -| | frame_size=${1518} | phy_cores=${1} - -| 1518B-2c-ethip4tcp-nat44ed-h1024-p63-s64512-cps-ndrpdr -| | [Tags] | 1518B | 2C -| | frame_size=${1518} | phy_cores=${2} - -| 1518B-4c-ethip4tcp-nat44ed-h1024-p63-s64512-cps-ndrpdr -| | [Tags] | 1518B | 4C -| | frame_size=${1518} | phy_cores=${4} - -| 9000B-1c-ethip4tcp-nat44ed-h1024-p63-s64512-cps-ndrpdr -| | [Tags] | 9000B | 1C -| | frame_size=${9000} | phy_cores=${1} - -| 9000B-2c-ethip4tcp-nat44ed-h1024-p63-s64512-cps-ndrpdr -| | [Tags] | 9000B | 2C -| | frame_size=${9000} | phy_cores=${2} - -| 9000B-4c-ethip4tcp-nat44ed-h1024-p63-s64512-cps-ndrpdr -| | [Tags] | 9000B | 4C -| | frame_size=${9000} | phy_cores=${4} - -| IMIX-1c-ethip4tcp-nat44ed-h1024-p63-s64512-cps-ndrpdr -| | [Tags] | IMIX | 1C -| | frame_size=IMIX_v4_1 | phy_cores=${1} - -| IMIX-2c-ethip4tcp-nat44ed-h1024-p63-s64512-cps-ndrpdr -| | [Tags] | IMIX | 2C -| | frame_size=IMIX_v4_1 | phy_cores=${2} - -| IMIX-4c-ethip4tcp-nat44ed-h1024-p63-s64512-cps-ndrpdr -| | [Tags] | IMIX | 4C -| | frame_size=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44ed-h1024-p63-s64512-pps-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44ed-h1024-p63-s64512-pps-ndrpdr.robot new file mode 100644 index 0000000000..ec0260ce99 --- /dev/null +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44ed-h1024-p63-s64512-pps-ndrpdr.robot @@ -0,0 +1,140 @@ +# Copyright (c) 2020 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR +| ... | NIC_Intel-X710 | ETH | IP4FWD | NAT44 | TCP | TCP_PPS | DRV_VFIO_PCI +| ... | SCALE | HOSTS_1024 | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4tcp-nat44ed-h1024-p63-s64512-pps +| +| Suite Setup | Setup suite topology interfaces | performance +| Suite Teardown | Tear down suite | performance +| Test Setup | Setup test | performance +| Test Teardown | Tear down test | performance | nat-ed +| +| Test Template | Local Template +| +| # TODO CSIT-1765: Unify suite Documentation. +| Documentation | *PPS on lightweight TCP transactions with NAT44ED* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-TCP for IPv4 routing. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4\ +| ... | routing and two static IPv4 /24 route entries. DUT1 tested with\ +| ... | ${nic_name}. +| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\ +| ... | Rate) with zero packet loss tolerance and throughput PDR (Partial Drop\ +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage\ +| ... | of packets transmitted. NDR and PDR are discovered for different\ +| ... | Ethernet L2 frame sizes using MLRsearch library.\ +| ... | Test packets are generated by TG on links to DUTs. TG traffic profile\ +| ... | contains client and server ASTF programs, generating packets containing\ +| ... | Ethernet header, IPv4 header, TCP header and static payload.\ +| ... | MAC addresses are matching MAC addresses of the TG node interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | nat_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${osi_layer}= | L7 +| ${overhead}= | ${0} +# IP settings +| ${tg_if1_ip4}= | 10.0.0.2 +| ${tg_if1_mask}= | ${20} +| ${tg_if2_ip4}= | 12.0.0.2 +| ${tg_if2_mask}= | ${20} +| ${dut1_if1_ip4}= | 10.0.0.1 +| ${dut1_if1_mask}= | ${24} +| ${dut1_if2_ip4}= | 12.0.0.1 +| ${dut1_if2_mask}= | ${24} +| ${dest_net}= | 20.0.0.0 +| ${dest_mask}= | ${22} +# NAT settings +| ${nat_mode}= | endpoint-dependent +| ${in_net}= | 192.168.0.0 +| ${in_mask}= | ${22} +| ${out_net}= | 68.142.68.0 +| ${out_net_end}= | 68.142.68.0 +| ${out_mask}= | ${32} +# Scale settings +| ${n_hosts}= | ${1024} +| ${n_ports}= | ${63} +| ${n_sessions}= | ${${n_hosts} * ${n_ports}} +| ${packets_per_transaction_and_direction}= | ${11} +| ${transaction_scale}= | ${n_sessions} +# Traffic profile +| ${traffic_profile}= | trex-astf-ethip4tcp-${n_hosts}h-pps +| ${transaction_type}= | tcp_pps +| ${disable_latency}= | ${True} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Cfg] DUT runs NAT44 ${nat_mode} configuration.\ +| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads. +| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\ +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). +| | ... | Type: integer, string +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | ${pre_stats}= | Create List +| | ... | vpp-clear-stats | vpp-enable-packettrace | vpp-enable-elog +| | ... | vpp-clear-runtime +| | Set Test Variable | ${pre_stats} +| | ${post_stats}= | Create List +| | ... | vpp-show-stats | vpp-show-packettrace | vpp-show-elog +| | ... | vpp-show-runtime +| | Set Test Variable | ${post_stats} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Add NAT to all DUTs | nat_mode=${nat_mode} +| | ${max_translations_per_thread}= | Compute Max Translations Per Thread +| | ... | ${n_sessions} | ${thr_count_int} +| | And Add NAT max translations per thread to all DUTs +| | ... | ${max_translations_per_thread} +| | And Apply startup configuration on all VPP DUTs +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize IPv4 forwarding for NAT44 in circular topology +| | And Initialize NAT44 endpoint-dependent mode in circular topology +| | Then Find NDR and PDR intervals using optimized search + +*** Test Cases *** +| 64B-1c-ethip4tcp-nat44ed-h1024-p63-s64512-pps-ndrpdr +| | [Tags] | 64B | 1C +| | frame_size=${64} | phy_cores=${1} + +| 64B-2c-ethip4tcp-nat44ed-h1024-p63-s64512-pps-ndrpdr +| | [Tags] | 64B | 2C +| | frame_size=${64} | phy_cores=${2} + +| 64B-4c-ethip4tcp-nat44ed-h1024-p63-s64512-pps-ndrpdr +| | [Tags] | 64B | 4C +| | frame_size=${64} | phy_cores=${4} diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44ed-h16384-p63-s1032192-cps-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44ed-h16384-p63-s1032192-cps-ndrpdr.robot index 836f60208a..1778833fbe 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44ed-h16384-p63-s1032192-cps-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44ed-h16384-p63-s1032192-cps-ndrpdr.robot @@ -17,8 +17,8 @@ | Resource | resources/libraries/robot/shared/traffic.robot | | Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR -| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | TCP_SYN -| ... | NAT44_ENDPOINT_DEPENDENT | BASE | DRV_VFIO_PCI +| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | TCP | TCP_CPS +| ... | NAT44_ENDPOINT_DEPENDENT | SCALE | HOSTS_16384 | DRV_VFIO_PCI | ... | RXQ_SIZE_0 | TXQ_SIZE_0 | ... | ethip4tcp-nat44ed-h16384-p63-s1032192-cps | @@ -29,15 +29,14 @@ | | Test Template | Local Template | -| Documentation | *Connections per second NAT44 endpoint-dependent mode -| ... | performance test cases* +| Documentation | *CPS on empty TCP transactions with NAT44ED* | -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ | ... | with single links between nodes. | ... | *[Enc] Packet Encapsulations:* Eth-IPv4-TCP for IPv4 routing. -| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4 routing and -| ... | one static IPv4 /18 route entries. -| ... | DUT1 is tested with ${nic_name}.\ +| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4 routing and\ +| ... | one static IPv4 /18 route entries.\ +| ... | DUT1 is tested with ${nic_name}. | ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\ | ... | Rate) with zero packet loss tolerance and throughput PDR (Partial Drop\ | ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage\ @@ -85,12 +84,13 @@ | ${n_hosts}= | ${16384} | ${n_ports}= | ${63} | ${n_sessions}= | ${${n_hosts} * ${n_ports}} -# Traffic profile: -| ${traffic_profile}= | trex-astf-ethip4tcp-16384h -| ${cps}= | ${1032192} -# Trial data overwrite -| ${trial_duration}= | ${1.1} -| ${trial_multiplicity}= | ${1} +| ${transaction_scale}= | ${n_sessions} +| ${packets_per_transaction_and_direction}= | ${4} +| ${packets_per_transaction_aggregated}= | ${7} +# Traffic profile +| ${traffic_profile}= | trex-astf-ethip4tcp-${n_hosts}h +| ${transaction_type}= | tcp_cps +| ${disable_latency}= | ${True} *** Keywords *** | Local Template @@ -109,7 +109,6 @@ | | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} | | | | Set Test Variable | \${frame_size} -| | Set Test Variable | \${max_rate} | ${cps} | | ${pre_stats}= | Create List | | ... | vpp-clear-stats | vpp-enable-packettrace | vpp-enable-elog | | ... | vpp-clear-runtime @@ -119,7 +118,7 @@ | | ... | vpp-show-runtime | | Set Test Variable | ${post_stats} | | -| | Given Set Jumbo +| | Given Set Max Rate And Jumbo | | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} | | And Pre-initialize layer driver | ${nic_driver} | | And Add NAT to all DUTs | nat_mode=${nat_mode} @@ -132,7 +131,7 @@ | | And Initialize layer interface | | And Initialize IPv4 forwarding for NAT44 in circular topology | | And Initialize NAT44 endpoint-dependent mode in circular topology -| | Then Find NDR and PDR intervals using optimized search | latency=${False} +| | Then Find NDR and PDR intervals using optimized search *** Test Cases *** | 64B-1c-ethip4tcp-nat44ed-h16384-p63-s1032192-cps-ndrpdr @@ -146,39 +145,3 @@ | 64B-4c-ethip4tcp-nat44ed-h16384-p63-s1032192-cps-ndrpdr | | [Tags] | 64B | 4C | | frame_size=${64} | phy_cores=${4} - -| 1518B-1c-ethip4tcp-nat44ed-h16384-p63-s1032192-cps-ndrpdr -| | [Tags] | 1518B | 1C -| | frame_size=${1518} | phy_cores=${1} - -| 1518B-2c-ethip4tcp-nat44ed-h16384-p63-s1032192-cps-ndrpdr -| | [Tags] | 1518B | 2C -| | frame_size=${1518} | phy_cores=${2} - -| 1518B-4c-ethip4tcp-nat44ed-h16384-p63-s1032192-cps-ndrpdr -| | [Tags] | 1518B | 4C -| | frame_size=${1518} | phy_cores=${4} - -| 9000B-1c-ethip4tcp-nat44ed-h16384-p63-s1032192-cps-ndrpdr -| | [Tags] | 9000B | 1C -| | frame_size=${9000} | phy_cores=${1} - -| 9000B-2c-ethip4tcp-nat44ed-h16384-p63-s1032192-cps-ndrpdr -| | [Tags] | 9000B | 2C -| | frame_size=${9000} | phy_cores=${2} - -| 9000B-4c-ethip4tcp-nat44ed-h16384-p63-s1032192-cps-ndrpdr -| | [Tags] | 9000B | 4C -| | frame_size=${9000} | phy_cores=${4} - -| IMIX-1c-ethip4tcp-nat44ed-h16384-p63-s1032192-cps-ndrpdr -| | [Tags] | IMIX | 1C -| | frame_size=IMIX_v4_1 | phy_cores=${1} - -| IMIX-2c-ethip4tcp-nat44ed-h16384-p63-s1032192-cps-ndrpdr -| | [Tags] | IMIX | 2C -| | frame_size=IMIX_v4_1 | phy_cores=${2} - -| IMIX-4c-ethip4tcp-nat44ed-h16384-p63-s1032192-cps-ndrpdr -| | [Tags] | IMIX | 4C -| | frame_size=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44ed-h16384-p63-s1032192-pps-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44ed-h16384-p63-s1032192-pps-ndrpdr.robot new file mode 100644 index 0000000000..189a5494fe --- /dev/null +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44ed-h16384-p63-s1032192-pps-ndrpdr.robot @@ -0,0 +1,140 @@ +# Copyright (c) 2020 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR +| ... | NIC_Intel-X710 | ETH | IP4FWD | NAT44 | TCP | TCP_PPS | DRV_VFIO_PCI +| ... | SCALE | HOSTS_16384 | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4tcp-nat44ed-h16384-p63-s1032192-pps +| +| Suite Setup | Setup suite topology interfaces | performance +| Suite Teardown | Tear down suite | performance +| Test Setup | Setup test | performance +| Test Teardown | Tear down test | performance | nat-ed +| +| Test Template | Local Template +| +| # TODO CSIT-1765: Unify suite Documentation. +| Documentation | *PPS on lightweight TCP transactions with NAT44ED* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-TCP for IPv4 routing. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4\ +| ... | routing and two static IPv4 /24 route entries. DUT1 tested with\ +| ... | ${nic_name}. +| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\ +| ... | Rate) with zero packet loss tolerance and throughput PDR (Partial Drop\ +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage\ +| ... | of packets transmitted. NDR and PDR are discovered for different\ +| ... | Ethernet L2 frame sizes using MLRsearch library.\ +| ... | Test packets are generated by TG on links to DUTs. TG traffic profile\ +| ... | contains client and server ASTF programs, generating packets containing\ +| ... | Ethernet header, IPv4 header, TCP header and static payload.\ +| ... | MAC addresses are matching MAC addresses of the TG node interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | nat_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${osi_layer}= | L7 +| ${overhead}= | ${0} +# IP settings +| ${tg_if1_ip4}= | 10.0.0.2 +| ${tg_if1_mask}= | ${20} +| ${tg_if2_ip4}= | 12.0.0.2 +| ${tg_if2_mask}= | ${20} +| ${dut1_if1_ip4}= | 10.0.0.1 +| ${dut1_if1_mask}= | ${24} +| ${dut1_if2_ip4}= | 12.0.0.1 +| ${dut1_if2_mask}= | ${24} +| ${dest_net}= | 20.0.0.0 +| ${dest_mask}= | ${18} +# NAT settings +| ${nat_mode}= | endpoint-dependent +| ${in_net}= | 192.168.0.0 +| ${in_mask}= | ${18} +| ${out_net}= | 68.142.68.0 +| ${out_net_end}= | 68.142.68.15 +| ${out_mask}= | ${28} +# Scale settings +| ${n_hosts}= | ${16384} +| ${n_ports}= | ${63} +| ${n_sessions}= | ${${n_hosts} * ${n_ports}} +| ${packets_per_transaction_and_direction}= | ${11} +| ${transaction_scale}= | ${n_sessions} +# Traffic profile +| ${traffic_profile}= | trex-astf-ethip4tcp-${n_hosts}h-pps +| ${transaction_type}= | tcp_pps +| ${disable_latency}= | ${True} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Cfg] DUT runs NAT44 ${nat_mode} configuration.\ +| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads. +| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\ +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). +| | ... | Type: integer, string +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | ${pre_stats}= | Create List +| | ... | vpp-clear-stats | vpp-enable-packettrace | vpp-enable-elog +| | ... | vpp-clear-runtime +| | Set Test Variable | ${pre_stats} +| | ${post_stats}= | Create List +| | ... | vpp-show-stats | vpp-show-packettrace | vpp-show-elog +| | ... | vpp-show-runtime +| | Set Test Variable | ${post_stats} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Add NAT to all DUTs | nat_mode=${nat_mode} +| | ${max_translations_per_thread}= | Compute Max Translations Per Thread +| | ... | ${n_sessions} | ${thr_count_int} +| | And Add NAT max translations per thread to all DUTs +| | ... | ${max_translations_per_thread} +| | And Apply startup configuration on all VPP DUTs +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize IPv4 forwarding for NAT44 in circular topology +| | And Initialize NAT44 endpoint-dependent mode in circular topology +| | Then Find NDR and PDR intervals using optimized search + +*** Test Cases *** +| 64B-1c-ethip4tcp-nat44ed-h16384-p63-s1032192-pps-ndrpdr +| | [Tags] | 64B | 1C +| | frame_size=${64} | phy_cores=${1} + +| 64B-2c-ethip4tcp-nat44ed-h16384-p63-s1032192-pps-ndrpdr +| | [Tags] | 64B | 2C +| | frame_size=${64} | phy_cores=${2} + +| 64B-4c-ethip4tcp-nat44ed-h16384-p63-s1032192-pps-ndrpdr +| | [Tags] | 64B | 4C +| | frame_size=${64} | phy_cores=${4} diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44ed-h262144-p63-s16515072-cps-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44ed-h262144-p63-s16515072-cps-ndrpdr.robot index 47aa07ff44..ac009da7a1 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44ed-h262144-p63-s16515072-cps-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44ed-h262144-p63-s16515072-cps-ndrpdr.robot @@ -17,8 +17,8 @@ | Resource | resources/libraries/robot/shared/traffic.robot | | Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR -| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | TCP_SYN -| ... | NAT44_ENDPOINT_DEPENDENT | BASE | DRV_VFIO_PCI +| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | TCP | TCP_CPS +| ... | NAT44_ENDPOINT_DEPENDENT | SCALE | HOSTS_262144 | DRV_VFIO_PCI | ... | RXQ_SIZE_0 | TXQ_SIZE_0 | ... | ethip4tcp-nat44ed-h262144-p63-s16515072-cps | @@ -29,15 +29,14 @@ | | Test Template | Local Template | -| Documentation | *Connections per second NAT44 endpoint-dependent mode -| ... | performance test cases* +| Documentation | *CPS on empty TCP transactions with NAT44ED* | -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ | ... | with single links between nodes. | ... | *[Enc] Packet Encapsulations:* Eth-IPv4-TCP for IPv4 routing. -| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4 routing and -| ... | one static IPv4 /18 route entries. -| ... | DUT1 is tested with ${nic_name}.\ +| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4 routing and\ +| ... | one static IPv4 /18 route entries.\ +| ... | DUT1 is tested with ${nic_name}. | ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\ | ... | Rate) with zero packet loss tolerance and throughput PDR (Partial Drop\ | ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage\ @@ -85,12 +84,15 @@ | ${n_hosts}= | ${262144} | ${n_ports}= | ${63} | ${n_sessions}= | ${${n_hosts} * ${n_ports}} -# Traffic profile: -| ${traffic_profile}= | trex-astf-ethip4tcp-262144h -| ${cps}= | ${16515072} -# Trial data overwrite -| ${trial_duration}= | ${1.1} -| ${trial_multiplicity}= | ${1} +| ${transaction_scale}= | ${n_sessions} +| ${packets_per_transaction_and_direction}= | ${4} +| ${packets_per_transaction_aggregated}= | ${7} +# Main heap size multiplicator +| ${heap_size_mult}= | ${7} +# Traffic profile +| ${traffic_profile}= | trex-astf-ethip4tcp-${n_hosts}h +| ${transaction_type}= | tcp_cps +| ${disable_latency}= | ${True} *** Keywords *** | Local Template @@ -109,7 +111,6 @@ | | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} | | | | Set Test Variable | \${frame_size} -| | Set Test Variable | \${max_rate} | ${cps} | | ${pre_stats}= | Create List | | ... | vpp-clear-stats | vpp-enable-packettrace | vpp-enable-elog | | ... | vpp-clear-runtime @@ -119,7 +120,7 @@ | | ... | vpp-show-runtime | | Set Test Variable | ${post_stats} | | -| | Given Set Jumbo +| | Given Set Max Rate And Jumbo | | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} | | And Pre-initialize layer driver | ${nic_driver} | | And Add NAT to all DUTs | nat_mode=${nat_mode} @@ -132,7 +133,7 @@ | | And Initialize layer interface | | And Initialize IPv4 forwarding for NAT44 in circular topology | | And Initialize NAT44 endpoint-dependent mode in circular topology -| | Then Find NDR and PDR intervals using optimized search | latency=${False} +| | Then Find NDR and PDR intervals using optimized search *** Test Cases *** | 64B-1c-ethip4tcp-nat44ed-h262144-p63-s16515072-cps-ndrpdr @@ -146,39 +147,3 @@ | 64B-4c-ethip4tcp-nat44ed-h262144-p63-s16515072-cps-ndrpdr | | [Tags] | 64B | 4C | | frame_size=${64} | phy_cores=${4} - -| 1518B-1c-ethip4tcp-nat44ed-h262144-p63-s16515072-cps-ndrpdr -| | [Tags] | 1518B | 1C -| | frame_size=${1518} | phy_cores=${1} - -| 1518B-2c-ethip4tcp-nat44ed-h262144-p63-s16515072-cps-ndrpdr -| | [Tags] | 1518B | 2C -| | frame_size=${1518} | phy_cores=${2} - -| 1518B-4c-ethip4tcp-nat44ed-h262144-p63-s16515072-cps-ndrpdr -| | [Tags] | 1518B | 4C -| | frame_size=${1518} | phy_cores=${4} - -| 9000B-1c-ethip4tcp-nat44ed-h262144-p63-s16515072-cps-ndrpdr -| | [Tags] | 9000B | 1C -| | frame_size=${9000} | phy_cores=${1} - -| 9000B-2c-ethip4tcp-nat44ed-h262144-p63-s16515072-cps-ndrpdr -| | [Tags] | 9000B | 2C -| | frame_size=${9000} | phy_cores=${2} - -| 9000B-4c-ethip4tcp-nat44ed-h262144-p63-s16515072-cps-ndrpdr -| | [Tags] | 9000B | 4C -| | frame_size=${9000} | phy_cores=${4} - -| IMIX-1c-ethip4tcp-nat44ed-h262144-p63-s16515072-cps-ndrpdr -| | [Tags] | IMIX | 1C -| | frame_size=IMIX_v4_1 | phy_cores=${1} - -| IMIX-2c-ethip4tcp-nat44ed-h262144-p63-s16515072-cps-ndrpdr -| | [Tags] | IMIX | 2C -| | frame_size=IMIX_v4_1 | phy_cores=${2} - -| IMIX-4c-ethip4tcp-nat44ed-h262144-p63-s16515072-cps-ndrpdr -| | [Tags] | IMIX | 4C -| | frame_size=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44ed-h262144-p63-s16515072-pps-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44ed-h262144-p63-s16515072-pps-ndrpdr.robot new file mode 100644 index 0000000000..172709b7e0 --- /dev/null +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44ed-h262144-p63-s16515072-pps-ndrpdr.robot @@ -0,0 +1,142 @@ +# Copyright (c) 2020 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR +| ... | NIC_Intel-X710 | ETH | IP4FWD | NAT44 | TCP | TCP_PPS | DRV_VFIO_PCI +| ... | SCALE | HOSTS_262144 | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4tcp-nat44ed-h262144-p63-s16515072-pps +| +| Suite Setup | Setup suite topology interfaces | performance +| Suite Teardown | Tear down suite | performance +| Test Setup | Setup test | performance +| Test Teardown | Tear down test | performance | nat-ed +| +| Test Template | Local Template +| +| # TODO CSIT-1765: Unify suite Documentation. +| Documentation | *PPS on lightweight TCP transactions with NAT44ED* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-TCP for IPv4 routing. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4\ +| ... | routing and two static IPv4 /24 route entries. DUT1 tested with\ +| ... | ${nic_name}. +| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\ +| ... | Rate) with zero packet loss tolerance and throughput PDR (Partial Drop\ +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage\ +| ... | of packets transmitted. NDR and PDR are discovered for different\ +| ... | Ethernet L2 frame sizes using MLRsearch library.\ +| ... | Test packets are generated by TG on links to DUTs. TG traffic profile\ +| ... | contains client and server ASTF programs, generating packets containing\ +| ... | Ethernet header, IPv4 header, TCP header and static payload.\ +| ... | MAC addresses are matching MAC addresses of the TG node interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | nat_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${osi_layer}= | L7 +| ${overhead}= | ${0} +# IP settings +| ${tg_if1_ip4}= | 10.0.0.2 +| ${tg_if1_mask}= | ${20} +| ${tg_if2_ip4}= | 12.0.0.2 +| ${tg_if2_mask}= | ${20} +| ${dut1_if1_ip4}= | 10.0.0.1 +| ${dut1_if1_mask}= | ${24} +| ${dut1_if2_ip4}= | 12.0.0.1 +| ${dut1_if2_mask}= | ${24} +| ${dest_net}= | 20.16.0.0 +| ${dest_mask}= | ${14} +# NAT settings +| ${nat_mode}= | endpoint-dependent +| ${in_net}= | 172.16.0.0 +| ${in_mask}= | ${14} +| ${out_net}= | 68.142.68.0 +| ${out_net_end}= | 68.142.68.255 +| ${out_mask}= | ${24} +# Scale settings +| ${n_hosts}= | ${262144} +| ${n_ports}= | ${63} +| ${n_sessions}= | ${${n_hosts} * ${n_ports}} +| ${packets_per_transaction_and_direction}= | ${11} +| ${transaction_scale}= | ${n_sessions} +# Main heap size multiplicator +| ${heap_size_mult}= | ${7} +# Traffic profile +| ${traffic_profile}= | trex-astf-ethip4tcp-${n_hosts}h-pps +| ${transaction_type}= | tcp_pps +| ${disable_latency}= | ${True} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Cfg] DUT runs NAT44 ${nat_mode} configuration.\ +| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads. +| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\ +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). +| | ... | Type: integer, string +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | ${pre_stats}= | Create List +| | ... | vpp-clear-stats | vpp-enable-packettrace | vpp-enable-elog +| | ... | vpp-clear-runtime +| | Set Test Variable | ${pre_stats} +| | ${post_stats}= | Create List +| | ... | vpp-show-stats | vpp-show-packettrace | vpp-show-elog +| | ... | vpp-show-runtime +| | Set Test Variable | ${post_stats} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Add NAT to all DUTs | nat_mode=${nat_mode} +| | ${max_translations_per_thread}= | Compute Max Translations Per Thread +| | ... | ${n_sessions} | ${thr_count_int} +| | And Add NAT max translations per thread to all DUTs +| | ... | ${max_translations_per_thread} +| | And Apply startup configuration on all VPP DUTs +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize IPv4 forwarding for NAT44 in circular topology +| | And Initialize NAT44 endpoint-dependent mode in circular topology +| | Then Find NDR and PDR intervals using optimized search + +*** Test Cases *** +| 64B-1c-ethip4tcp-nat44ed-h262144-p63-s16515072-pps-ndrpdr +| | [Tags] | 64B | 1C +| | frame_size=${64} | phy_cores=${1} + +| 64B-2c-ethip4tcp-nat44ed-h262144-p63-s16515072-pps-ndrpdr +| | [Tags] | 64B | 2C +| | frame_size=${64} | phy_cores=${2} + +| 64B-4c-ethip4tcp-nat44ed-h262144-p63-s16515072-pps-ndrpdr +| | [Tags] | 64B | 4C +| | frame_size=${64} | phy_cores=${4} diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44ed-h4096-p63-s258048-cps-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44ed-h4096-p63-s258048-cps-ndrpdr.robot index 873ac1a30a..114069e9e6 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44ed-h4096-p63-s258048-cps-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44ed-h4096-p63-s258048-cps-ndrpdr.robot @@ -17,8 +17,8 @@ | Resource | resources/libraries/robot/shared/traffic.robot | | Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR -| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | TCP_SYN -| ... | NAT44_ENDPOINT_DEPENDENT | BASE | DRV_VFIO_PCI +| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | TCP | TCP_CPS +| ... | NAT44_ENDPOINT_DEPENDENT | SCALE | HOSTS_4096 | DRV_VFIO_PCI | ... | RXQ_SIZE_0 | TXQ_SIZE_0 | ... | ethip4tcp-nat44ed-h4096-p63-s258048-cps | @@ -29,14 +29,13 @@ | | Test Template | Local Template | -| Documentation | *Connections per second NAT44 endpoint-dependent mode -| ... | performance test cases* +| Documentation | *CPS on empty TCP transactions with NAT44ED* | -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ | ... | with single links between nodes. | ... | *[Enc] Packet Encapsulations:* Eth-IPv4-TCP for IPv4 routing. -| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4 routing and -| ... | one static IPv4 /18 route entries. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4 routing and\ +| ... | one static IPv4 /18 route entries.\ | ... | DUT1 is tested with ${nic_name}.\ | ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\ | ... | Rate) with zero packet loss tolerance and throughput PDR (Partial Drop\ @@ -85,12 +84,13 @@ | ${n_hosts}= | ${4096} | ${n_ports}= | ${63} | ${n_sessions}= | ${${n_hosts} * ${n_ports}} -# Traffic profile: -| ${traffic_profile}= | trex-astf-ethip4tcp-4096h -| ${cps}= | ${258048} -# Trial data overwrite -| ${trial_duration}= | ${1.1} -| ${trial_multiplicity}= | ${1} +| ${transaction_scale}= | ${n_sessions} +| ${packets_per_transaction_and_direction}= | ${4} +| ${packets_per_transaction_aggregated}= | ${7} +# Traffic profile +| ${traffic_profile}= | trex-astf-ethip4tcp-${n_hosts}h +| ${transaction_type}= | tcp_cps +| ${disable_latency}= | ${True} *** Keywords *** | Local Template @@ -109,7 +109,6 @@ | | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} | | | | Set Test Variable | \${frame_size} -| | Set Test Variable | \${max_rate} | ${cps} | | ${pre_stats}= | Create List | | ... | vpp-clear-stats | vpp-enable-packettrace | vpp-enable-elog | | ... | vpp-clear-runtime @@ -119,7 +118,7 @@ | | ... | vpp-show-runtime | | Set Test Variable | ${post_stats} | | -| | Given Set Jumbo +| | Given Set Max Rate And Jumbo | | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} | | And Pre-initialize layer driver | ${nic_driver} | | And Add NAT to all DUTs | nat_mode=${nat_mode} @@ -132,7 +131,7 @@ | | And Initialize layer interface | | And Initialize IPv4 forwarding for NAT44 in circular topology | | And Initialize NAT44 endpoint-dependent mode in circular topology -| | Then Find NDR and PDR intervals using optimized search | latency=${False} +| | Then Find NDR and PDR intervals using optimized search *** Test Cases *** | 64B-1c-ethip4tcp-nat44ed-h4096-p63-s258048-cps-ndrpdr @@ -146,39 +145,3 @@ | 64B-4c-ethip4tcp-nat44ed-h4096-p63-s258048-cps-ndrpdr | | [Tags] | 64B | 4C | | frame_size=${64} | phy_cores=${4} - -| 1518B-1c-ethip4tcp-nat44ed-h4096-p63-s258048-cps-ndrpdr -| | [Tags] | 1518B | 1C -| | frame_size=${1518} | phy_cores=${1} - -| 1518B-2c-ethip4tcp-nat44ed-h4096-p63-s258048-cps-ndrpdr -| | [Tags] | 1518B | 2C -| | frame_size=${1518} | phy_cores=${2} - -| 1518B-4c-ethip4tcp-nat44ed-h4096-p63-s258048-cps-ndrpdr -| | [Tags] | 1518B | 4C -| | frame_size=${1518} | phy_cores=${4} - -| 9000B-1c-ethip4tcp-nat44ed-h4096-p63-s258048-cps-ndrpdr -| | [Tags] | 9000B | 1C -| | frame_size=${9000} | phy_cores=${1} - -| 9000B-2c-ethip4tcp-nat44ed-h4096-p63-s258048-cps-ndrpdr -| | [Tags] | 9000B | 2C -| | frame_size=${9000} | phy_cores=${2} - -| 9000B-4c-ethip4tcp-nat44ed-h4096-p63-s258048-cps-ndrpdr -| | [Tags] | 9000B | 4C -| | frame_size=${9000} | phy_cores=${4} - -| IMIX-1c-ethip4tcp-nat44ed-h4096-p63-s258048-cps-ndrpdr -| | [Tags] | IMIX | 1C -| | frame_size=IMIX_v4_1 | phy_cores=${1} - -| IMIX-2c-ethip4tcp-nat44ed-h4096-p63-s258048-cps-ndrpdr -| | [Tags] | IMIX | 2C -| | frame_size=IMIX_v4_1 | phy_cores=${2} - -| IMIX-4c-ethip4tcp-nat44ed-h4096-p63-s258048-cps-ndrpdr -| | [Tags] | IMIX | 4C -| | frame_size=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44ed-h4096-p63-s258048-pps-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44ed-h4096-p63-s258048-pps-ndrpdr.robot new file mode 100644 index 0000000000..fa2545f562 --- /dev/null +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44ed-h4096-p63-s258048-pps-ndrpdr.robot @@ -0,0 +1,140 @@ +# Copyright (c) 2020 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR +| ... | NIC_Intel-X710 | ETH | IP4FWD | NAT44 | TCP | TCP_PPS | DRV_VFIO_PCI +| ... | SCALE | HOSTS_4096 | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4tcp-nat44ed-h4096-p63-s258048-pps +| +| Suite Setup | Setup suite topology interfaces | performance +| Suite Teardown | Tear down suite | performance +| Test Setup | Setup test | performance +| Test Teardown | Tear down test | performance | nat-ed +| +| Test Template | Local Template +| +| # TODO CSIT-1765: Unify suite Documentation. +| Documentation | *PPS on lightweight TCP transactions with NAT44ED* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-TCP for IPv4 routing. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4\ +| ... | routing and two static IPv4 /24 route entries. DUT1 tested with\ +| ... | ${nic_name}. +| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\ +| ... | Rate) with zero packet loss tolerance and throughput PDR (Partial Drop\ +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage\ +| ... | of packets transmitted. NDR and PDR are discovered for different\ +| ... | Ethernet L2 frame sizes using MLRsearch library.\ +| ... | Test packets are generated by TG on links to DUTs. TG traffic profile\ +| ... | contains client and server ASTF programs, generating packets containing\ +| ... | Ethernet header, IPv4 header, TCP header and static payload.\ +| ... | MAC addresses are matching MAC addresses of the TG node interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | nat_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${osi_layer}= | L7 +| ${overhead}= | ${0} +# IP settings +| ${tg_if1_ip4}= | 10.0.0.2 +| ${tg_if1_mask}= | ${20} +| ${tg_if2_ip4}= | 12.0.0.2 +| ${tg_if2_mask}= | ${20} +| ${dut1_if1_ip4}= | 10.0.0.1 +| ${dut1_if1_mask}= | ${24} +| ${dut1_if2_ip4}= | 12.0.0.1 +| ${dut1_if2_mask}= | ${24} +| ${dest_net}= | 20.0.0.0 +| ${dest_mask}= | ${20} +# NAT settings +| ${nat_mode}= | endpoint-dependent +| ${in_net}= | 192.168.0.0 +| ${in_mask}= | ${20} +| ${out_net}= | 68.142.68.0 +| ${out_net_end}= | 68.142.68.3 +| ${out_mask}= | ${30} +# Scale settings +| ${n_hosts}= | ${4096} +| ${n_ports}= | ${63} +| ${n_sessions}= | ${${n_hosts} * ${n_ports}} +| ${packets_per_transaction_and_direction}= | ${11} +| ${transaction_scale}= | ${n_sessions} +# Traffic profile +| ${traffic_profile}= | trex-astf-ethip4tcp-${n_hosts}h-pps +| ${transaction_type}= | tcp_pps +| ${disable_latency}= | ${True} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Cfg] DUT runs NAT44 ${nat_mode} configuration.\ +| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads. +| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\ +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). +| | ... | Type: integer, string +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | ${pre_stats}= | Create List +| | ... | vpp-clear-stats | vpp-enable-packettrace | vpp-enable-elog +| | ... | vpp-clear-runtime +| | Set Test Variable | ${pre_stats} +| | ${post_stats}= | Create List +| | ... | vpp-show-stats | vpp-show-packettrace | vpp-show-elog +| | ... | vpp-show-runtime +| | Set Test Variable | ${post_stats} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Add NAT to all DUTs | nat_mode=${nat_mode} +| | ${max_translations_per_thread}= | Compute Max Translations Per Thread +| | ... | ${n_sessions} | ${thr_count_int} +| | And Add NAT max translations per thread to all DUTs +| | ... | ${max_translations_per_thread} +| | And Apply startup configuration on all VPP DUTs +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize IPv4 forwarding for NAT44 in circular topology +| | And Initialize NAT44 endpoint-dependent mode in circular topology +| | Then Find NDR and PDR intervals using optimized search + +*** Test Cases *** +| 64B-1c-ethip4tcp-nat44ed-h4096-p63-s258048-pps-ndrpdr +| | [Tags] | 64B | 1C +| | frame_size=${64} | phy_cores=${1} + +| 64B-2c-ethip4tcp-nat44ed-h4096-p63-s258048-pps-ndrpdr +| | [Tags] | 64B | 2C +| | frame_size=${64} | phy_cores=${2} + +| 64B-4c-ethip4tcp-nat44ed-h4096-p63-s258048-pps-ndrpdr +| | [Tags] | 64B | 4C +| | frame_size=${64} | phy_cores=${4} diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44ed-h65536-p63-s4128768-cps-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44ed-h65536-p63-s4128768-cps-ndrpdr.robot index 7f98f1c9bb..e0740029c0 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44ed-h65536-p63-s4128768-cps-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44ed-h65536-p63-s4128768-cps-ndrpdr.robot @@ -17,8 +17,8 @@ | Resource | resources/libraries/robot/shared/traffic.robot | | Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR -| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | TCP_SYN -| ... | NAT44_ENDPOINT_DEPENDENT | BASE | DRV_VFIO_PCI +| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | TCP | TCP_CPS +| ... | NAT44_ENDPOINT_DEPENDENT | SCALE | HOSTS_65536 | DRV_VFIO_PCI | ... | RXQ_SIZE_0 | TXQ_SIZE_0 | ... | ethip4tcp-nat44ed-h65536-p63-s4128768-cps | @@ -29,15 +29,14 @@ | | Test Template | Local Template | -| Documentation | *Connections per second NAT44 endpoint-dependent mode -| ... | performance test cases* +| Documentation | *CPS on empty TCP transactions with NAT44ED* | -| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ | ... | with single links between nodes. | ... | *[Enc] Packet Encapsulations:* Eth-IPv4-TCP for IPv4 routing. -| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4 routing and -| ... | one static IPv4 /18 route entries. -| ... | DUT1 is tested with ${nic_name}.\ +| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4 routing and\ +| ... | one static IPv4 /18 route entries.\ +| ... | DUT1 is tested with ${nic_name}. | ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\ | ... | Rate) with zero packet loss tolerance and throughput PDR (Partial Drop\ | ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage\ @@ -85,12 +84,15 @@ | ${n_hosts}= | ${65536} | ${n_ports}= | ${63} | ${n_sessions}= | ${${n_hosts} * ${n_ports}} -# Traffic profile: -| ${traffic_profile}= | trex-astf-ethip4tcp-65536h -| ${cps}= | ${4128768} -# Trial data overwrite -| ${trial_duration}= | ${1.1} -| ${trial_multiplicity}= | ${1} +| ${transaction_scale}= | ${n_sessions} +| ${packets_per_transaction_and_direction}= | ${4} +| ${packets_per_transaction_aggregated}= | ${7} +# Main heap size multiplicator +| ${heap_size_mult}= | ${2} +# Traffic profile +| ${traffic_profile}= | trex-astf-ethip4tcp-${n_hosts}h +| ${transaction_type}= | tcp_cps +| ${disable_latency}= | ${True} *** Keywords *** | Local Template @@ -109,7 +111,6 @@ | | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} | | | | Set Test Variable | \${frame_size} -| | Set Test Variable | \${max_rate} | ${cps} | | ${pre_stats}= | Create List | | ... | vpp-clear-stats | vpp-enable-packettrace | vpp-enable-elog | | ... | vpp-clear-runtime @@ -119,7 +120,7 @@ | | ... | vpp-show-runtime | | Set Test Variable | ${post_stats} | | -| | Given Set Jumbo +| | Given Set Max Rate And Jumbo | | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} | | And Pre-initialize layer driver | ${nic_driver} | | And Add NAT to all DUTs | nat_mode=${nat_mode} @@ -132,7 +133,7 @@ | | And Initialize layer interface | | And Initialize IPv4 forwarding for NAT44 in circular topology | | And Initialize NAT44 endpoint-dependent mode in circular topology -| | Then Find NDR and PDR intervals using optimized search | latency=${False} +| | Then Find NDR and PDR intervals using optimized search *** Test Cases *** | 64B-1c-ethip4tcp-nat44ed-h65536-p63-s4128768-cps-ndrpdr @@ -146,39 +147,3 @@ | 64B-4c-ethip4tcp-nat44ed-h65536-p63-s4128768-cps-ndrpdr | | [Tags] | 64B | 4C | | frame_size=${64} | phy_cores=${4} - -| 1518B-1c-ethip4tcp-nat44ed-h65536-p63-s4128768-cps-ndrpdr -| | [Tags] | 1518B | 1C -| | frame_size=${1518} | phy_cores=${1} - -| 1518B-2c-ethip4tcp-nat44ed-h65536-p63-s4128768-cps-ndrpdr -| | [Tags] | 1518B | 2C -| | frame_size=${1518} | phy_cores=${2} - -| 1518B-4c-ethip4tcp-nat44ed-h65536-p63-s4128768-cps-ndrpdr -| | [Tags] | 1518B | 4C -| | frame_size=${1518} | phy_cores=${4} - -| 9000B-1c-ethip4tcp-nat44ed-h65536-p63-s4128768-cps-ndrpdr -| | [Tags] | 9000B | 1C -| | frame_size=${9000} | phy_cores=${1} - -| 9000B-2c-ethip4tcp-nat44ed-h65536-p63-s4128768-cps-ndrpdr -| | [Tags] | 9000B | 2C -| | frame_size=${9000} | phy_cores=${2} - -| 9000B-4c-ethip4tcp-nat44ed-h65536-p63-s4128768-cps-ndrpdr -| | [Tags] | 9000B | 4C -| | frame_size=${9000} | phy_cores=${4} - -| IMIX-1c-ethip4tcp-nat44ed-h65536-p63-s4128768-cps-ndrpdr -| | [Tags] | IMIX | 1C -| | frame_size=IMIX_v4_1 | phy_cores=${1} - -| IMIX-2c-ethip4tcp-nat44ed-h65536-p63-s4128768-cps-ndrpdr -| | [Tags] | IMIX | 2C -| | frame_size=IMIX_v4_1 | phy_cores=${2} - -| IMIX-4c-ethip4tcp-nat44ed-h65536-p63-s4128768-cps-ndrpdr -| | [Tags] | IMIX | 4C -| | frame_size=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44ed-h65536-p63-s4128768-pps-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44ed-h65536-p63-s4128768-pps-ndrpdr.robot new file mode 100644 index 0000000000..faa9aaae99 --- /dev/null +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44ed-h65536-p63-s4128768-pps-ndrpdr.robot @@ -0,0 +1,142 @@ +# Copyright (c) 2020 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR +| ... | NIC_Intel-X710 | ETH | IP4FWD | NAT44 | TCP | TCP_PPS | DRV_VFIO_PCI +| ... | SCALE | HOSTS_65536 | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4tcp-nat44ed-h65536-p63-s4128768-pps +| +| Suite Setup | Setup suite topology interfaces | performance +| Suite Teardown | Tear down suite | performance +| Test Setup | Setup test | performance +| Test Teardown | Tear down test | performance | nat-ed +| +| Test Template | Local Template +| +| # TODO CSIT-1765: Unify suite Documentation. +| Documentation | *PPS on lightweight TCP transactions with NAT44ED* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-TCP for IPv4 routing. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4\ +| ... | routing and two static IPv4 /24 route entries. DUT1 tested with\ +| ... | ${nic_name}. +| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\ +| ... | Rate) with zero packet loss tolerance and throughput PDR (Partial Drop\ +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage\ +| ... | of packets transmitted. NDR and PDR are discovered for different\ +| ... | Ethernet L2 frame sizes using MLRsearch library.\ +| ... | Test packets are generated by TG on links to DUTs. TG traffic profile\ +| ... | contains client and server ASTF programs, generating packets containing\ +| ... | Ethernet header, IPv4 header, TCP header and static payload.\ +| ... | MAC addresses are matching MAC addresses of the TG node interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | nat_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${osi_layer}= | L7 +| ${overhead}= | ${0} +# IP settings +| ${tg_if1_ip4}= | 10.0.0.2 +| ${tg_if1_mask}= | ${20} +| ${tg_if2_ip4}= | 12.0.0.2 +| ${tg_if2_mask}= | ${20} +| ${dut1_if1_ip4}= | 10.0.0.1 +| ${dut1_if1_mask}= | ${24} +| ${dut1_if2_ip4}= | 12.0.0.1 +| ${dut1_if2_mask}= | ${24} +| ${dest_net}= | 20.0.0.0 +| ${dest_mask}= | ${16} +# NAT settings +| ${nat_mode}= | endpoint-dependent +| ${in_net}= | 192.168.0.0 +| ${in_mask}= | ${16} +| ${out_net}= | 68.142.68.0 +| ${out_net_end}= | 68.142.68.63 +| ${out_mask}= | ${26} +# Scale settings +| ${n_hosts}= | ${65536} +| ${n_ports}= | ${63} +| ${n_sessions}= | ${${n_hosts} * ${n_ports}} +| ${packets_per_transaction_and_direction}= | ${11} +| ${transaction_scale}= | ${n_sessions} +# Main heap size multiplicator +| ${heap_size_mult}= | ${2} +# Traffic profile +| ${traffic_profile}= | trex-astf-ethip4tcp-${n_hosts}h-pps +| ${transaction_type}= | tcp_pps +| ${disable_latency}= | ${True} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Cfg] DUT runs NAT44 ${nat_mode} configuration.\ +| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads. +| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\ +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). +| | ... | Type: integer, string +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | ${pre_stats}= | Create List +| | ... | vpp-clear-stats | vpp-enable-packettrace | vpp-enable-elog +| | ... | vpp-clear-runtime +| | Set Test Variable | ${pre_stats} +| | ${post_stats}= | Create List +| | ... | vpp-show-stats | vpp-show-packettrace | vpp-show-elog +| | ... | vpp-show-runtime +| | Set Test Variable | ${post_stats} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Add NAT to all DUTs | nat_mode=${nat_mode} +| | ${max_translations_per_thread}= | Compute Max Translations Per Thread +| | ... | ${n_sessions} | ${thr_count_int} +| | And Add NAT max translations per thread to all DUTs +| | ... | ${max_translations_per_thread} +| | And Apply startup configuration on all VPP DUTs +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize IPv4 forwarding for NAT44 in circular topology +| | And Initialize NAT44 endpoint-dependent mode in circular topology +| | Then Find NDR and PDR intervals using optimized search + +*** Test Cases *** +| 64B-1c-ethip4tcp-nat44ed-h65536-p63-s4128768-pps-ndrpdr +| | [Tags] | 64B | 1C +| | frame_size=${64} | phy_cores=${1} + +| 64B-2c-ethip4tcp-nat44ed-h65536-p63-s4128768-pps-ndrpdr +| | [Tags] | 64B | 2C +| | frame_size=${64} | phy_cores=${2} + +| 64B-4c-ethip4tcp-nat44ed-h65536-p63-s4128768-pps-ndrpdr +| | [Tags] | 64B | 4C +| | frame_size=${64} | phy_cores=${4} diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h1024-p63-s64512-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h1024-p63-s64512-cps-ndrpdr.robot index c107d3e8f3..77d3ee210c 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h1024-p63-s64512-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h1024-p63-s64512-cps-ndrpdr.robot @@ -15,9 +15,9 @@ | Resource | resources/libraries/robot/shared/default.robot | | Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR -| ... | NIC_Intel-X710 | ETH | IP4FWD | BASE | IP4BASE | DRV_VFIO_PCI | UDP_SYN -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip4udp-ip4base-h1024-p63-s64512 +| ... | NIC_Intel-X710 | ETH | IP4FWD | SCALE | IP4BASE | DRV_VFIO_PCI +| ... | UDP | UDP_CPS | HOSTS_1024 | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4udp-ip4base-h1024-p63-s64512-cps | | Suite Setup | Setup suite topology interfaces | performance | Suite Teardown | Tear down suite | performance @@ -26,7 +26,7 @@ | | Test Template | Local Template | -| Documentation | *RFC2544: Pkt throughput IPv4 routing test cases* +| Documentation | *CPS on empty UDP transactions with IPv4 routing* | | ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology | ... | with single links between nodes. @@ -57,12 +57,14 @@ | ${nic_vfs}= | 0 | ${osi_layer}= | L7 | ${overhead}= | ${0} -# Traffic profile: -| ${traffic_profile}= | trex-astf-ethip4udp-1024h -| ${cps}= | ${64512} -# Trial data overwrite -| ${trial_duration}= | ${1.1} -| ${trial_multiplicity}= | ${1} +# Scale settings +| ${n_hosts}= | ${1024} +| ${n_ports}= | ${63} +| ${transaction_scale}= | ${${n_hosts} * ${n_ports}} +# Traffic profile +| ${traffic_profile}= | trex-astf-ethip4udp-${n_hosts}h +| ${transaction_type}= | udp_cps +| ${disable_latency}= | ${True} *** Keywords *** | Local Template @@ -80,7 +82,6 @@ | | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} | | | | Set Test Variable | \${frame_size} -| | Set Test Variable | \${max_rate} | ${cps} | | ${pre_stats}= | Create List | | ... | vpp-clear-stats | vpp-enable-packettrace | vpp-enable-elog | | ... | vpp-clear-runtime @@ -90,7 +91,7 @@ | | ... | vpp-show-runtime | | Set Test Variable | ${post_stats} | | -| | Given Set Jumbo +| | Given Set Max Rate And Jumbo | | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} | | And Pre-initialize layer driver | ${nic_driver} | | And Apply startup configuration on all VPP DUTs @@ -98,53 +99,17 @@ | | And Initialize layer interface | | And Initialize IPv4 forwarding in circular topology | | ... | 192.168.0.0 | 20.0.0.0 | ${22} -| | Then Find NDR and PDR intervals using optimized search | latency=${False} +| | Then Find NDR and PDR intervals using optimized search *** Test Cases *** -| 64B-1c-ethip4udp-ip4base-h1024-p63-s64512-ndrpdr +| 64B-1c-ethip4udp-ip4base-h1024-p63-s64512-cps-ndrpdr | | [Tags] | 64B | 1C | | frame_size=${64} | phy_cores=${1} -| 64B-2c-ethip4udp-ip4base-h1024-p63-s64512-ndrpdr +| 64B-2c-ethip4udp-ip4base-h1024-p63-s64512-cps-ndrpdr | | [Tags] | 64B | 2C | | frame_size=${64} | phy_cores=${2} -| 64B-4c-ethip4udp-ip4base-h1024-p63-s64512-ndrpdr +| 64B-4c-ethip4udp-ip4base-h1024-p63-s64512-cps-ndrpdr | | [Tags] | 64B | 4C | | frame_size=${64} | phy_cores=${4} - -| 1518B-1c-ethip4udp-ip4base-h1024-p63-s64512-ndrpdr -| | [Tags] | 1518B | 1C -| | frame_size=${1518} | phy_cores=${1} - -| 1518B-2c-ethip4udp-ip4base-h1024-p63-s64512-ndrpdr -| | [Tags] | 1518B | 2C -| | frame_size=${1518} | phy_cores=${2} - -| 1518B-4c-ethip4udp-ip4base-h1024-p63-s64512-ndrpdr -| | [Tags] | 1518B | 4C -| | frame_size=${1518} | phy_cores=${4} - -| 9000B-1c-ethip4udp-ip4base-h1024-p63-s64512-ndrpdr -| | [Tags] | 9000B | 1C -| | frame_size=${9000} | phy_cores=${1} - -| 9000B-2c-ethip4udp-ip4base-h1024-p63-s64512-ndrpdr -| | [Tags] | 9000B | 2C -| | frame_size=${9000} | phy_cores=${2} - -| 9000B-4c-ethip4udp-ip4base-h1024-p63-s64512-ndrpdr -| | [Tags] | 9000B | 4C -| | frame_size=${9000} | phy_cores=${4} - -| IMIX-1c-ethip4udp-ip4base-h1024-p63-s64512-ndrpdr -| | [Tags] | IMIX | 1C -| | frame_size=IMIX_v4_1 | phy_cores=${1} - -| IMIX-2c-ethip4udp-ip4base-h1024-p63-s64512-ndrpdr -| | [Tags] | IMIX | 2C -| | frame_size=IMIX_v4_1 | phy_cores=${2} - -| IMIX-4c-ethip4udp-ip4base-h1024-p63-s64512-ndrpdr -| | [Tags] | IMIX | 4C -| | frame_size=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h1024-p63-s64512-pps-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h1024-p63-s64512-pps-ndrpdr.robot new file mode 100644 index 0000000000..d27b1bda85 --- /dev/null +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h1024-p63-s64512-pps-ndrpdr.robot @@ -0,0 +1,116 @@ +# Copyright (c) 2020 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR +| ... | NIC_Intel-X710 | ETH | IP4FWD | IP4BASE | UDP | UDP_PPS | DRV_VFIO_PCI +| ... | SCALE | HOSTS_1024 | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4udp-ip4base-h1024-p63-s64512-pps +| +| Suite Setup | Setup suite topology interfaces | performance +| Suite Teardown | Tear down suite | performance +| Test Setup | Setup test | performance +| Test Teardown | Tear down test | performance +| +| Test Template | Local Template +| +| # TODO CSIT-1765: Unify suite Documentation. +| Documentation | *PPS on lightweight UDP transactions with IPv4 routing* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-UDP for IPv4 routing. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4\ +| ... | routing and two static IPv4 /22 route entries. DUT1 tested with\ +| ... | ${nic_name}. +| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\ +| ... | Rate) with zero packet loss tolerance and throughput PDR (Partial Drop\ +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage\ +| ... | of packets transmitted. NDR and PDR are discovered for different\ +| ... | Ethernet L2 frame sizes using MLRsearch library.\ +| ... | Test packets are generated by TG on links to DUTs. TG traffic profile\ +| ... | contains client and server ASTF programs, generating packets containing\ +| ... | Ethernet header, IPv4 header, UDP header and static payload.\ +| ... | MAC addresses are matching MAC addresses of the TG node interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${osi_layer}= | L7 +| ${overhead}= | ${0} +# Scale settings +| ${n_hosts}= | ${1024} +| ${n_ports}= | ${63} +| ${transaction_scale}= | ${${n_hosts} * ${n_ports}} +| ${packets_per_transaction_and_direction}= | ${33} +# Traffic profile: +| ${traffic_profile}= | trex-astf-ethip4udp-${n_hosts}h-pps +| ${transaction_type}= | udp_pps +| ${disable_latency}= | ${True} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config.\ +| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads. +| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\ +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). +| | ... | Type: integer, string +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | ${pre_stats}= | Create List +| | ... | vpp-clear-stats | vpp-enable-packettrace | vpp-enable-elog +| | ... | vpp-clear-runtime +| | Set Test Variable | ${pre_stats} +| | ${post_stats}= | Create List +| | ... | vpp-show-stats | vpp-show-packettrace | vpp-show-elog +| | ... | vpp-show-runtime +| | Set Test Variable | ${post_stats} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize IPv4 forwarding in circular topology +| | ... | 192.168.0.0 | 20.0.0.0 | ${22} +| | Then Find NDR and PDR intervals using optimized search + +*** Test Cases *** +| 64B-1c-ethip4udp-ip4base-h1024-p63-s64512-pps-ndrpdr +| | [Tags] | 64B | 1C +| | frame_size=${64} | phy_cores=${1} + +| 64B-2c-ethip4udp-ip4base-h1024-p63-s64512-pps-ndrpdr +| | [Tags] | 64B | 2C +| | frame_size=${64} | phy_cores=${2} + +| 64B-4c-ethip4udp-ip4base-h1024-p63-s64512-pps-ndrpdr +| | [Tags] | 64B | 4C +| | frame_size=${64} | phy_cores=${4} diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h16384-p63-s1032192-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h16384-p63-s1032192-cps-ndrpdr.robot index eec0cfcef6..74f34b64f7 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h16384-p63-s1032192-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h16384-p63-s1032192-cps-ndrpdr.robot @@ -15,9 +15,9 @@ | Resource | resources/libraries/robot/shared/default.robot | | Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR -| ... | NIC_Intel-X710 | ETH | IP4FWD | BASE | IP4BASE | DRV_VFIO_PCI | UDP_SYN -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip4udp-ip4base-h16384-p63-s1032192 +| ... | NIC_Intel-X710 | ETH | IP4FWD | SCALE | IP4BASE | DRV_VFIO_PCI +| ... | UDP | UDP_CPS | HOSTS_16384 | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4udp-ip4base-h16384-p63-s1032192-cps | | Suite Setup | Setup suite topology interfaces | performance | Suite Teardown | Tear down suite | performance @@ -26,7 +26,7 @@ | | Test Template | Local Template | -| Documentation | *RFC2544: Pkt throughput IPv4 routing test cases* +| Documentation | *CPS on empty UDP transactions with IPv4 routing* | | ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology | ... | with single links between nodes. @@ -57,12 +57,14 @@ | ${nic_vfs}= | 0 | ${osi_layer}= | L7 | ${overhead}= | ${0} -# Traffic profile: -| ${traffic_profile}= | trex-astf-ethip4udp-16384h -| ${cps}= | ${1032192} -# Trial data overwrite -| ${trial_duration}= | ${1.1} -| ${trial_multiplicity}= | ${1} +# Scale settings +| ${n_hosts}= | ${16384} +| ${n_ports}= | ${63} +| ${transaction_scale}= | ${${n_hosts} * ${n_ports}} +# Traffic profile +| ${traffic_profile}= | trex-astf-ethip4udp-${n_hosts}h +| ${transaction_type}= | udp_cps +| ${disable_latency}= | ${True} *** Keywords *** | Local Template @@ -80,7 +82,6 @@ | | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} | | | | Set Test Variable | \${frame_size} -| | Set Test Variable | \${max_rate} | ${cps} | | ${pre_stats}= | Create List | | ... | vpp-clear-stats | vpp-enable-packettrace | vpp-enable-elog | | ... | vpp-clear-runtime @@ -90,7 +91,7 @@ | | ... | vpp-show-runtime | | Set Test Variable | ${post_stats} | | -| | Given Set Jumbo +| | Given Set Max Rate And Jumbo | | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} | | And Pre-initialize layer driver | ${nic_driver} | | And Apply startup configuration on all VPP DUTs @@ -98,53 +99,17 @@ | | And Initialize layer interface | | And Initialize IPv4 forwarding in circular topology | | ... | 192.168.0.0 | 20.0.0.0 | ${18} -| | Then Find NDR and PDR intervals using optimized search | latency=${False} +| | Then Find NDR and PDR intervals using optimized search *** Test Cases *** -| 64B-1c-ethip4udp-ip4base-h16384-p63-s1032192-ndrpdr +| 64B-1c-ethip4udp-ip4base-h16384-p63-s1032192-cps-ndrpdr | | [Tags] | 64B | 1C | | frame_size=${64} | phy_cores=${1} -| 64B-2c-ethip4udp-ip4base-h16384-p63-s1032192-ndrpdr +| 64B-2c-ethip4udp-ip4base-h16384-p63-s1032192-cps-ndrpdr | | [Tags] | 64B | 2C | | frame_size=${64} | phy_cores=${2} -| 64B-4c-ethip4udp-ip4base-h16384-p63-s1032192-ndrpdr +| 64B-4c-ethip4udp-ip4base-h16384-p63-s1032192-cps-ndrpdr | | [Tags] | 64B | 4C | | frame_size=${64} | phy_cores=${4} - -| 1518B-1c-ethip4udp-ip4base-h16384-p63-s1032192-ndrpdr -| | [Tags] | 1518B | 1C -| | frame_size=${1518} | phy_cores=${1} - -| 1518B-2c-ethip4udp-ip4base-h16384-p63-s1032192-ndrpdr -| | [Tags] | 1518B | 2C -| | frame_size=${1518} | phy_cores=${2} - -| 1518B-4c-ethip4udp-ip4base-h16384-p63-s1032192-ndrpdr -| | [Tags] | 1518B | 4C -| | frame_size=${1518} | phy_cores=${4} - -| 9000B-1c-ethip4udp-ip4base-h16384-p63-s1032192-ndrpdr -| | [Tags] | 9000B | 1C -| | frame_size=${9000} | phy_cores=${1} - -| 9000B-2c-ethip4udp-ip4base-h16384-p63-s1032192-ndrpdr -| | [Tags] | 9000B | 2C -| | frame_size=${9000} | phy_cores=${2} - -| 9000B-4c-ethip4udp-ip4base-h16384-p63-s1032192-ndrpdr -| | [Tags] | 9000B | 4C -| | frame_size=${9000} | phy_cores=${4} - -| IMIX-1c-ethip4udp-ip4base-h16384-p63-s1032192-ndrpdr -| | [Tags] | IMIX | 1C -| | frame_size=IMIX_v4_1 | phy_cores=${1} - -| IMIX-2c-ethip4udp-ip4base-h16384-p63-s1032192-ndrpdr -| | [Tags] | IMIX | 2C -| | frame_size=IMIX_v4_1 | phy_cores=${2} - -| IMIX-4c-ethip4udp-ip4base-h16384-p63-s1032192-ndrpdr -| | [Tags] | IMIX | 4C -| | frame_size=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h16384-p63-s1032192-pps-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h16384-p63-s1032192-pps-ndrpdr.robot new file mode 100644 index 0000000000..3510c84f9c --- /dev/null +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h16384-p63-s1032192-pps-ndrpdr.robot @@ -0,0 +1,116 @@ +# Copyright (c) 2020 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR +| ... | NIC_Intel-X710 | ETH | IP4FWD | IP4BASE | UDP | UDP_PPS | DRV_VFIO_PCI +| ... | SCALE | HOSTS_16384 | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4udp-ip4base-h16384-p63-s1032192-pps +| +| Suite Setup | Setup suite topology interfaces | performance +| Suite Teardown | Tear down suite | performance +| Test Setup | Setup test | performance +| Test Teardown | Tear down test | performance +| +| Test Template | Local Template +| +| Documentation | *PPS on lightweight UDP transactions with IPv4 routing* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for IPv4 routing. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4 +| ... | routing and two static IPv4 /18 route entries. DUT1 tested with +| ... | ${nic_name}.\ +| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\ +| ... | Rate) with zero packet loss tolerance and throughput PDR (Partial Drop\ +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage\ +| ... | of packets transmitted. NDR and PDR are discovered for different\ +| ... | Ethernet L2 frame sizes using MLRsearch library.\ +| ... | Test packets are generated by TG on links to DUTs. TG traffic profile +| ... | contains two L3 flow-groups (flow-group per direction, 253 flows per +| ... | flow-group) with all packets containing Ethernet header, IPv4 header +| ... | with IP protocol=61 and static payload. MAC addresses are matching MAC +| ... | addresses of the TG node interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${osi_layer}= | L7 +| ${overhead}= | ${0} +# Scale settings +| ${n_hosts}= | ${16384} +| ${n_ports}= | ${63} +| ${transaction_scale}= | ${${n_hosts} * ${n_ports}} +| ${packets_per_transaction_and_direction}= | ${33} +# Traffic profile: +| ${traffic_profile}= | trex-astf-ethip4udp-${n_hosts}h-pps +| ${transaction_type}= | udp_pps +| ${disable_latency}= | ${True} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config.\ +| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads. +| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\ +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). +| | ... | Type: integer, string +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | ${pre_stats}= | Create List +| | ... | vpp-clear-stats | vpp-enable-packettrace | vpp-enable-elog +| | ... | vpp-clear-runtime +| | Set Test Variable | ${pre_stats} +| | ${post_stats}= | Create List +| | ... | vpp-show-stats | vpp-show-packettrace | vpp-show-elog +| | ... | vpp-show-runtime +| | Set Test Variable | ${post_stats} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize IPv4 forwarding in circular topology +| | ... | 192.168.0.0 | 20.0.0.0 | ${18} +| | Then Find NDR and PDR intervals using optimized search + +*** Test Cases *** +| 64B-1c-ethip4udp-ip4base-h16384-p63-s1032192-pps-ndrpdr +| | [Tags] | 64B | 1C +| | frame_size=${64} | phy_cores=${1} + +| 64B-2c-ethip4udp-ip4base-h16384-p63-s1032192-pps-ndrpdr +| | [Tags] | 64B | 2C +| | frame_size=${64} | phy_cores=${2} + +| 64B-4c-ethip4udp-ip4base-h16384-p63-s1032192-pps-ndrpdr +| | [Tags] | 64B | 4C +| | frame_size=${64} | phy_cores=${4} diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h262144-p63-s16515072-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h262144-p63-s16515072-cps-ndrpdr.robot index 64c0013955..44b7740f5c 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h262144-p63-s16515072-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h262144-p63-s16515072-cps-ndrpdr.robot @@ -15,9 +15,9 @@ | Resource | resources/libraries/robot/shared/default.robot | | Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR -| ... | NIC_Intel-X710 | ETH | IP4FWD | BASE | IP4BASE | DRV_VFIO_PCI | UDP_SYN -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip4udp-ip4base-h262144-p63-s16515072 +| ... | NIC_Intel-X710 | ETH | IP4FWD | SCALE | IP4BASE | DRV_VFIO_PCI +| ... | UDP | UDP_CPS | HOSTS_262144 | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4udp-ip4base-h262144-p63-s16515072-cps | | Suite Setup | Setup suite topology interfaces | performance | Suite Teardown | Tear down suite | performance @@ -26,7 +26,7 @@ | | Test Template | Local Template | -| Documentation | *RFC2544: Pkt throughput IPv4 routing test cases* +| Documentation | *CPS on empty UDP transactions with IPv4 routing* | | ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology | ... | with single links between nodes. @@ -57,12 +57,14 @@ | ${nic_vfs}= | 0 | ${osi_layer}= | L7 | ${overhead}= | ${0} -# Traffic profile: -| ${traffic_profile}= | trex-astf-ethip4udp-262144h -| ${cps}= | ${16515072} -# Trial data overwrite -| ${trial_duration}= | ${1.1} -| ${trial_multiplicity}= | ${1} +# Scale settings +| ${n_hosts}= | ${262144} +| ${n_ports}= | ${63} +| ${transaction_scale}= | ${${n_hosts} * ${n_ports}} +# Traffic profile +| ${traffic_profile}= | trex-astf-ethip4udp-${n_hosts}h +| ${transaction_type}= | udp_cps +| ${disable_latency}= | ${True} *** Keywords *** | Local Template @@ -80,7 +82,6 @@ | | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} | | | | Set Test Variable | \${frame_size} -| | Set Test Variable | \${max_rate} | ${cps} | | ${pre_stats}= | Create List | | ... | vpp-clear-stats | vpp-enable-packettrace | vpp-enable-elog | | ... | vpp-clear-runtime @@ -90,7 +91,7 @@ | | ... | vpp-show-runtime | | Set Test Variable | ${post_stats} | | -| | Given Set Jumbo +| | Given Set Max Rate And Jumbo | | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} | | And Pre-initialize layer driver | ${nic_driver} | | And Apply startup configuration on all VPP DUTs @@ -98,53 +99,17 @@ | | And Initialize layer interface | | And Initialize IPv4 forwarding in circular topology | | ... | 172.16.0.0 | 20.16.0.0 | ${14} -| | Then Find NDR and PDR intervals using optimized search | latency=${False} +| | Then Find NDR and PDR intervals using optimized search *** Test Cases *** -| 64B-1c-ethip4udp-ip4base-h262144-p63-s16515072-ndrpdr +| 64B-1c-ethip4udp-ip4base-h262144-p63-s16515072-cps-ndrpdr | | [Tags] | 64B | 1C | | frame_size=${64} | phy_cores=${1} -| 64B-2c-ethip4udp-ip4base-h262144-p63-s16515072-ndrpdr +| 64B-2c-ethip4udp-ip4base-h262144-p63-s16515072-cps-ndrpdr | | [Tags] | 64B | 2C | | frame_size=${64} | phy_cores=${2} -| 64B-4c-ethip4udp-ip4base-h262144-p63-s16515072-ndrpdr +| 64B-4c-ethip4udp-ip4base-h262144-p63-s16515072-cps-ndrpdr | | [Tags] | 64B | 4C | | frame_size=${64} | phy_cores=${4} - -| 1518B-1c-ethip4udp-ip4base-h262144-p63-s16515072-ndrpdr -| | [Tags] | 1518B | 1C -| | frame_size=${1518} | phy_cores=${1} - -| 1518B-2c-ethip4udp-ip4base-h262144-p63-s16515072-ndrpdr -| | [Tags] | 1518B | 2C -| | frame_size=${1518} | phy_cores=${2} - -| 1518B-4c-ethip4udp-ip4base-h262144-p63-s16515072-ndrpdr -| | [Tags] | 1518B | 4C -| | frame_size=${1518} | phy_cores=${4} - -| 9000B-1c-ethip4udp-ip4base-h262144-p63-s16515072-ndrpdr -| | [Tags] | 9000B | 1C -| | frame_size=${9000} | phy_cores=${1} - -| 9000B-2c-ethip4udp-ip4base-h262144-p63-s16515072-ndrpdr -| | [Tags] | 9000B | 2C -| | frame_size=${9000} | phy_cores=${2} - -| 9000B-4c-ethip4udp-ip4base-h262144-p63-s16515072-ndrpdr -| | [Tags] | 9000B | 4C -| | frame_size=${9000} | phy_cores=${4} - -| IMIX-1c-ethip4udp-ip4base-h262144-p63-s16515072-ndrpdr -| | [Tags] | IMIX | 1C -| | frame_size=IMIX_v4_1 | phy_cores=${1} - -| IMIX-2c-ethip4udp-ip4base-h262144-p63-s16515072-ndrpdr -| | [Tags] | IMIX | 2C -| | frame_size=IMIX_v4_1 | phy_cores=${2} - -| IMIX-4c-ethip4udp-ip4base-h262144-p63-s16515072-ndrpdr -| | [Tags] | IMIX | 4C -| | frame_size=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h262144-p63-s16515072-pps-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h262144-p63-s16515072-pps-ndrpdr.robot new file mode 100644 index 0000000000..7a80bf07d5 --- /dev/null +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h262144-p63-s16515072-pps-ndrpdr.robot @@ -0,0 +1,116 @@ +# Copyright (c) 2020 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR +| ... | NIC_Intel-X710 | ETH | IP4FWD | IP4BASE | UDP | UDP_PPS | DRV_VFIO_PCI +| ... | SCALE | HOSTS_262144 | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4udp-ip4base-h262144-p63-s16515072-pps +| +| Suite Setup | Setup suite topology interfaces | performance +| Suite Teardown | Tear down suite | performance +| Test Setup | Setup test | performance +| Test Teardown | Tear down test | performance +| +| Test Template | Local Template +| +| Documentation | *PPS on lightweight UDP transactions with IPv4 routing* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for IPv4 routing. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4 +| ... | routing and two static IPv4 /14 route entries. DUT1 tested with +| ... | ${nic_name}.\ +| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\ +| ... | Rate) with zero packet loss tolerance and throughput PDR (Partial Drop\ +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage\ +| ... | of packets transmitted. NDR and PDR are discovered for different\ +| ... | Ethernet L2 frame sizes using MLRsearch library.\ +| ... | Test packets are generated by TG on links to DUTs. TG traffic profile +| ... | contains two L3 flow-groups (flow-group per direction, 253 flows per +| ... | flow-group) with all packets containing Ethernet header, IPv4 header +| ... | with IP protocol=61 and static payload. MAC addresses are matching MAC +| ... | addresses of the TG node interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${osi_layer}= | L7 +| ${overhead}= | ${0} +# Scale settings +| ${n_hosts}= | ${262144} +| ${n_ports}= | ${63} +| ${transaction_scale}= | ${${n_hosts} * ${n_ports}} +| ${packets_per_transaction_and_direction}= | ${33} +# Traffic profile: +| ${traffic_profile}= | trex-astf-ethip4udp-${n_hosts}h-pps +| ${transaction_type}= | udp_pps +| ${disable_latency}= | ${True} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config.\ +| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads. +| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\ +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). +| | ... | Type: integer, string +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | ${pre_stats}= | Create List +| | ... | vpp-clear-stats | vpp-enable-packettrace | vpp-enable-elog +| | ... | vpp-clear-runtime +| | Set Test Variable | ${pre_stats} +| | ${post_stats}= | Create List +| | ... | vpp-show-stats | vpp-show-packettrace | vpp-show-elog +| | ... | vpp-show-runtime +| | Set Test Variable | ${post_stats} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize IPv4 forwarding in circular topology +| | ... | 172.16.0.0 | 20.16.0.0 | ${14} +| | Then Find NDR and PDR intervals using optimized search + +*** Test Cases *** +| 64B-1c-ethip4udp-ip4base-h262144-p63-s16515072-pps-ndrpdr +| | [Tags] | 64B | 1C +| | frame_size=${64} | phy_cores=${1} + +| 64B-2c-ethip4udp-ip4base-h262144-p63-s16515072-pps-ndrpdr +| | [Tags] | 64B | 2C +| | frame_size=${64} | phy_cores=${2} + +| 64B-4c-ethip4udp-ip4base-h262144-p63-s16515072-pps-ndrpdr +| | [Tags] | 64B | 4C +| | frame_size=${64} | phy_cores=${4} diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h4096-p63-s258048-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h4096-p63-s258048-cps-ndrpdr.robot index 76bf239508..4226656f14 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h4096-p63-s258048-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h4096-p63-s258048-cps-ndrpdr.robot @@ -15,9 +15,9 @@ | Resource | resources/libraries/robot/shared/default.robot | | Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR -| ... | NIC_Intel-X710 | ETH | IP4FWD | BASE | IP4BASE | DRV_VFIO_PCI | UDP_SYN -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip4udp-ip4base-h4096-p63-s258048 +| ... | NIC_Intel-X710 | ETH | IP4FWD | SCALE | IP4BASE | DRV_VFIO_PCI +| ... | UDP | UDP_CPS | HOSTS_4096 | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4udp-ip4base-h4096-p63-s258048-cps | | Suite Setup | Setup suite topology interfaces | performance | Suite Teardown | Tear down suite | performance @@ -26,7 +26,7 @@ | | Test Template | Local Template | -| Documentation | *RFC2544: Pkt throughput IPv4 routing test cases* +| Documentation | *CPS on empty UDP transactions with IPv4 routing* | | ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology | ... | with single links between nodes. @@ -57,12 +57,14 @@ | ${nic_vfs}= | 0 | ${osi_layer}= | L7 | ${overhead}= | ${0} -# Traffic profile: -| ${traffic_profile}= | trex-astf-ethip4udp-4096h -| ${cps}= | ${258048} -# Trial data overwrite -| ${trial_duration}= | ${1.1} -| ${trial_multiplicity}= | ${1} +# Scale settings +| ${n_hosts}= | ${4096} +| ${n_ports}= | ${63} +| ${transaction_scale}= | ${${n_hosts} * ${n_ports}} +# Traffic profile +| ${traffic_profile}= | trex-astf-ethip4udp-${n_hosts}h +| ${transaction_type}= | udp_cps +| ${disable_latency}= | ${True} *** Keywords *** | Local Template @@ -80,7 +82,6 @@ | | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} | | | | Set Test Variable | \${frame_size} -| | Set Test Variable | \${max_rate} | ${cps} | | ${pre_stats}= | Create List | | ... | vpp-clear-stats | vpp-enable-packettrace | vpp-enable-elog | | ... | vpp-clear-runtime @@ -90,7 +91,7 @@ | | ... | vpp-show-runtime | | Set Test Variable | ${post_stats} | | -| | Given Set Jumbo +| | Given Set Max Rate And Jumbo | | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} | | And Pre-initialize layer driver | ${nic_driver} | | And Apply startup configuration on all VPP DUTs @@ -98,53 +99,17 @@ | | And Initialize layer interface | | And Initialize IPv4 forwarding in circular topology | | ... | 192.168.0.0 | 20.0.0.0 | ${20} -| | Then Find NDR and PDR intervals using optimized search | latency=${False} +| | Then Find NDR and PDR intervals using optimized search *** Test Cases *** -| 64B-1c-ethip4udp-ip4base-h4096-p63-s258048-ndrpdr +| 64B-1c-ethip4udp-ip4base-h4096-p63-s258048-cps-ndrpdr | | [Tags] | 64B | 1C | | frame_size=${64} | phy_cores=${1} -| 64B-2c-ethip4udp-ip4base-h4096-p63-s258048-ndrpdr +| 64B-2c-ethip4udp-ip4base-h4096-p63-s258048-cps-ndrpdr | | [Tags] | 64B | 2C | | frame_size=${64} | phy_cores=${2} -| 64B-4c-ethip4udp-ip4base-h4096-p63-s258048-ndrpdr +| 64B-4c-ethip4udp-ip4base-h4096-p63-s258048-cps-ndrpdr | | [Tags] | 64B | 4C | | frame_size=${64} | phy_cores=${4} - -| 1518B-1c-ethip4udp-ip4base-h4096-p63-s258048-ndrpdr -| | [Tags] | 1518B | 1C -| | frame_size=${1518} | phy_cores=${1} - -| 1518B-2c-ethip4udp-ip4base-h4096-p63-s258048-ndrpdr -| | [Tags] | 1518B | 2C -| | frame_size=${1518} | phy_cores=${2} - -| 1518B-4c-ethip4udp-ip4base-h4096-p63-s258048-ndrpdr -| | [Tags] | 1518B | 4C -| | frame_size=${1518} | phy_cores=${4} - -| 9000B-1c-ethip4udp-ip4base-h4096-p63-s258048-ndrpdr -| | [Tags] | 9000B | 1C -| | frame_size=${9000} | phy_cores=${1} - -| 9000B-2c-ethip4udp-ip4base-h4096-p63-s258048-ndrpdr -| | [Tags] | 9000B | 2C -| | frame_size=${9000} | phy_cores=${2} - -| 9000B-4c-ethip4udp-ip4base-h4096-p63-s258048-ndrpdr -| | [Tags] | 9000B | 4C -| | frame_size=${9000} | phy_cores=${4} - -| IMIX-1c-ethip4udp-ip4base-h4096-p63-s258048-ndrpdr -| | [Tags] | IMIX | 1C -| | frame_size=IMIX_v4_1 | phy_cores=${1} - -| IMIX-2c-ethip4udp-ip4base-h4096-p63-s258048-ndrpdr -| | [Tags] | IMIX | 2C -| | frame_size=IMIX_v4_1 | phy_cores=${2} - -| IMIX-4c-ethip4udp-ip4base-h4096-p63-s258048-ndrpdr -| | [Tags] | IMIX | 4C -| | frame_size=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h4096-p63-s258048-pps-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h4096-p63-s258048-pps-ndrpdr.robot new file mode 100644 index 0000000000..314b6fcf48 --- /dev/null +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h4096-p63-s258048-pps-ndrpdr.robot @@ -0,0 +1,116 @@ +# Copyright (c) 2020 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR +| ... | NIC_Intel-X710 | ETH | IP4FWD | IP4BASE | UDP | UDP_PPS | DRV_VFIO_PCI +| ... | SCALE | HOSTS_4096 | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4udp-ip4base-h4096-p63-s258048-pps +| +| Suite Setup | Setup suite topology interfaces | performance +| Suite Teardown | Tear down suite | performance +| Test Setup | Setup test | performance +| Test Teardown | Tear down test | performance +| +| Test Template | Local Template +| +| Documentation | *PPS on lightweight UDP transactions with IPv4 routing* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for IPv4 routing. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4 +| ... | routing and two static IPv4 /20 route entries. DUT1 tested with +| ... | ${nic_name}.\ +| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\ +| ... | Rate) with zero packet loss tolerance and throughput PDR (Partial Drop\ +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage\ +| ... | of packets transmitted. NDR and PDR are discovered for different\ +| ... | Ethernet L2 frame sizes using MLRsearch library.\ +| ... | Test packets are generated by TG on links to DUTs. TG traffic profile +| ... | contains two L3 flow-groups (flow-group per direction, 253 flows per +| ... | flow-group) with all packets containing Ethernet header, IPv4 header +| ... | with IP protocol=61 and static payload. MAC addresses are matching MAC +| ... | addresses of the TG node interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${osi_layer}= | L7 +| ${overhead}= | ${0} +# Scale settings +| ${n_hosts}= | ${4096} +| ${n_ports}= | ${63} +| ${transaction_scale}= | ${${n_hosts} * ${n_ports}} +| ${packets_per_transaction_and_direction}= | ${33} +# Traffic profile: +| ${traffic_profile}= | trex-astf-ethip4udp-${n_hosts}h-pps +| ${transaction_type}= | udp_pps +| ${disable_latency}= | ${True} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config.\ +| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads. +| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\ +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). +| | ... | Type: integer, string +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | ${pre_stats}= | Create List +| | ... | vpp-clear-stats | vpp-enable-packettrace | vpp-enable-elog +| | ... | vpp-clear-runtime +| | Set Test Variable | ${pre_stats} +| | ${post_stats}= | Create List +| | ... | vpp-show-stats | vpp-show-packettrace | vpp-show-elog +| | ... | vpp-show-runtime +| | Set Test Variable | ${post_stats} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize IPv4 forwarding in circular topology +| | ... | 192.168.0.0 | 20.0.0.0 | ${20} +| | Then Find NDR and PDR intervals using optimized search + +*** Test Cases *** +| 64B-1c-ethip4udp-ip4base-h4096-p63-s258048-pps-ndrpdr +| | [Tags] | 64B | 1C +| | frame_size=${64} | phy_cores=${1} + +| 64B-2c-ethip4udp-ip4base-h4096-p63-s258048-pps-ndrpdr +| | [Tags] | 64B | 2C +| | frame_size=${64} | phy_cores=${2} + +| 64B-4c-ethip4udp-ip4base-h4096-p63-s258048-pps-ndrpdr +| | [Tags] | 64B | 4C +| | frame_size=${64} | phy_cores=${4} diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h65536-p63-s4128768-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h65536-p63-s4128768-cps-ndrpdr.robot index 1807b880f4..301f7643b1 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h65536-p63-s4128768-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h65536-p63-s4128768-cps-ndrpdr.robot @@ -15,9 +15,9 @@ | Resource | resources/libraries/robot/shared/default.robot | | Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR -| ... | NIC_Intel-X710 | ETH | IP4FWD | BASE | IP4BASE | DRV_VFIO_PCI | UDP_SYN -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip4udp-ip4base-h65536-p63-s4128768 +| ... | NIC_Intel-X710 | ETH | IP4FWD | SCALE | IP4BASE | DRV_VFIO_PCI +| ... | UDP | UDP_CPS | HOSTS_65536 | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4udp-ip4base-h65536-p63-s4128768-cps | | Suite Setup | Setup suite topology interfaces | performance | Suite Teardown | Tear down suite | performance @@ -26,7 +26,7 @@ | | Test Template | Local Template | -| Documentation | *RFC2544: Pkt throughput IPv4 routing test cases* +| Documentation | *CPS on empty UDP transactions with IPv4 routing* | | ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology | ... | with single links between nodes. @@ -57,12 +57,14 @@ | ${nic_vfs}= | 0 | ${osi_layer}= | L7 | ${overhead}= | ${0} -# Traffic profile: -| ${traffic_profile}= | trex-astf-ethip4udp-65536h -| ${cps}= | ${4128768} -# Trial data overwrite -| ${trial_duration}= | ${1.1} -| ${trial_multiplicity}= | ${1} +# Scale settings +| ${n_hosts}= | ${65536} +| ${n_ports}= | ${63} +| ${transaction_scale}= | ${${n_hosts} * ${n_ports}} +# Traffic profile +| ${traffic_profile}= | trex-astf-ethip4udp-${n_hosts}h +| ${transaction_type}= | udp_cps +| ${disable_latency}= | ${True} *** Keywords *** | Local Template @@ -80,7 +82,6 @@ | | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} | | | | Set Test Variable | \${frame_size} -| | Set Test Variable | \${max_rate} | ${cps} | | ${pre_stats}= | Create List | | ... | vpp-clear-stats | vpp-enable-packettrace | vpp-enable-elog | | ... | vpp-clear-runtime @@ -90,7 +91,7 @@ | | ... | vpp-show-runtime | | Set Test Variable | ${post_stats} | | -| | Given Set Jumbo +| | Given Set Max Rate And Jumbo | | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} | | And Pre-initialize layer driver | ${nic_driver} | | And Apply startup configuration on all VPP DUTs @@ -98,53 +99,17 @@ | | And Initialize layer interface | | And Initialize IPv4 forwarding in circular topology | | ... | 192.168.0.0 | 20.0.0.0 | ${16} -| | Then Find NDR and PDR intervals using optimized search | latency=${False} +| | Then Find NDR and PDR intervals using optimized search *** Test Cases *** -| 64B-1c-ethip4udp-ip4base-h65536-p63-s4128768-ndrpdr +| 64B-1c-ethip4udp-ip4base-h65536-p63-s4128768-cps-ndrpdr | | [Tags] | 64B | 1C | | frame_size=${64} | phy_cores=${1} -| 64B-2c-ethip4udp-ip4base-h65536-p63-s4128768-ndrpdr +| 64B-2c-ethip4udp-ip4base-h65536-p63-s4128768-cps-ndrpdr | | [Tags] | 64B | 2C | | frame_size=${64} | phy_cores=${2} -| 64B-4c-ethip4udp-ip4base-h65536-p63-s4128768-ndrpdr +| 64B-4c-ethip4udp-ip4base-h65536-p63-s4128768-cps-ndrpdr | | [Tags] | 64B | 4C | | frame_size=${64} | phy_cores=${4} - -| 1518B-1c-ethip4udp-ip4base-h65536-p63-s4128768-ndrpdr -| | [Tags] | 1518B | 1C -| | frame_size=${1518} | phy_cores=${1} - -| 1518B-2c-ethip4udp-ip4base-h65536-p63-s4128768-ndrpdr -| | [Tags] | 1518B | 2C -| | frame_size=${1518} | phy_cores=${2} - -| 1518B-4c-ethip4udp-ip4base-h65536-p63-s4128768-ndrpdr -| | [Tags] | 1518B | 4C -| | frame_size=${1518} | phy_cores=${4} - -| 9000B-1c-ethip4udp-ip4base-h65536-p63-s4128768-ndrpdr -| | [Tags] | 9000B | 1C -| | frame_size=${9000} | phy_cores=${1} - -| 9000B-2c-ethip4udp-ip4base-h65536-p63-s4128768-ndrpdr -| | [Tags] | 9000B | 2C -| | frame_size=${9000} | phy_cores=${2} - -| 9000B-4c-ethip4udp-ip4base-h65536-p63-s4128768-ndrpdr -| | [Tags] | 9000B | 4C -| | frame_size=${9000} | phy_cores=${4} - -| IMIX-1c-ethip4udp-ip4base-h65536-p63-s4128768-ndrpdr -| | [Tags] | IMIX | 1C -| | frame_size=IMIX_v4_1 | phy_cores=${1} - -| IMIX-2c-ethip4udp-ip4base-h65536-p63-s4128768-ndrpdr -| | [Tags] | IMIX | 2C -| | frame_size=IMIX_v4_1 | phy_cores=${2} - -| IMIX-4c-ethip4udp-ip4base-h65536-p63-s4128768-ndrpdr -| | [Tags] | IMIX | 4C -| | frame_size=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h65536-p63-s4128768-pps-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h65536-p63-s4128768-pps-ndrpdr.robot new file mode 100644 index 0000000000..480bbc38e1 --- /dev/null +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h65536-p63-s4128768-pps-ndrpdr.robot @@ -0,0 +1,116 @@ +# Copyright (c) 2020 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR +| ... | NIC_Intel-X710 | ETH | IP4FWD | IP4BASE | UDP | UDP_PPS | DRV_VFIO_PCI +| ... | SCALE | HOSTS_65536 | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4udp-ip4base-h65536-p63-s4128768-pps +| +| Suite Setup | Setup suite topology interfaces | performance +| Suite Teardown | Tear down suite | performance +| Test Setup | Setup test | performance +| Test Teardown | Tear down test | performance +| +| Test Template | Local Template +| +| Documentation | *PPS on lightweight UDP transactions with IPv4 routing* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for IPv4 routing. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4 +| ... | routing and two static IPv4 /16 route entries. DUT1 tested with +| ... | ${nic_name}.\ +| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\ +| ... | Rate) with zero packet loss tolerance and throughput PDR (Partial Drop\ +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage\ +| ... | of packets transmitted. NDR and PDR are discovered for different\ +| ... | Ethernet L2 frame sizes using MLRsearch library.\ +| ... | Test packets are generated by TG on links to DUTs. TG traffic profile +| ... | contains two L3 flow-groups (flow-group per direction, 253 flows per +| ... | flow-group) with all packets containing Ethernet header, IPv4 header +| ... | with IP protocol=61 and static payload. MAC addresses are matching MAC +| ... | addresses of the TG node interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${osi_layer}= | L7 +| ${overhead}= | ${0} +# Scale settings +| ${n_hosts}= | ${65536} +| ${n_ports}= | ${63} +| ${transaction_scale}= | ${${n_hosts} * ${n_ports}} +| ${packets_per_transaction_and_direction}= | ${33} +# Traffic profile: +| ${traffic_profile}= | trex-astf-ethip4udp-${n_hosts}h-pps +| ${transaction_type}= | udp_pps +| ${disable_latency}= | ${True} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Cfg] DUT runs IPv4 routing config.\ +| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads. +| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\ +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). +| | ... | Type: integer, string +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | ${pre_stats}= | Create List +| | ... | vpp-clear-stats | vpp-enable-packettrace | vpp-enable-elog +| | ... | vpp-clear-runtime +| | Set Test Variable | ${pre_stats} +| | ${post_stats}= | Create List +| | ... | vpp-show-stats | vpp-show-packettrace | vpp-show-elog +| | ... | vpp-show-runtime +| | Set Test Variable | ${post_stats} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Apply startup configuration on all VPP DUTs +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize IPv4 forwarding in circular topology +| | ... | 192.168.0.0 | 20.0.0.0 | ${16} +| | Then Find NDR and PDR intervals using optimized search + +*** Test Cases *** +| 64B-1c-ethip4udp-ip4base-h65536-p63-s4128768-pps-ndrpdr +| | [Tags] | 64B | 1C +| | frame_size=${64} | phy_cores=${1} + +| 64B-2c-ethip4udp-ip4base-h65536-p63-s4128768-pps-ndrpdr +| | [Tags] | 64B | 2C +| | frame_size=${64} | phy_cores=${2} + +| 64B-4c-ethip4udp-ip4base-h65536-p63-s4128768-pps-ndrpdr +| | [Tags] | 64B | 4C +| | frame_size=${64} | phy_cores=${4} diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-iacl1sf-10kflows-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-iacl1sf-10kflows-ndrpdr.robot index 12f62d94c4..b1e4c301d1 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-iacl1sf-10kflows-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-iacl1sf-10kflows-ndrpdr.robot @@ -73,7 +73,7 @@ | ${port_step}= | ${1} | ${trex_stream1_subnet}= | 10.10.10.0/24 | ${trex_stream2_subnet}= | 20.20.20.0/24 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-2n-ethip4udp-10u1000p-conc *** Keywords *** diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-iacl1sl-10kflows-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-iacl1sl-10kflows-ndrpdr.robot index 44d3dc0a1b..c3a379fbfa 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-iacl1sl-10kflows-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-iacl1sl-10kflows-ndrpdr.robot @@ -73,7 +73,7 @@ | ${port_step}= | ${1} | ${trex_stream1_subnet}= | 10.10.10.0/24 | ${trex_stream2_subnet}= | 20.20.20.0/24 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-2n-ethip4udp-10u1000p-conc *** Keywords *** diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-iacl50sf-10kflows-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-iacl50sf-10kflows-ndrpdr.robot index 4189c071be..eb5c01401d 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-iacl50sf-10kflows-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-iacl50sf-10kflows-ndrpdr.robot @@ -73,7 +73,7 @@ | ${port_step}= | ${1} | ${trex_stream1_subnet}= | 10.10.10.0/24 | ${trex_stream2_subnet}= | 20.20.20.0/24 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-2n-ethip4udp-10u1000p-conc *** Keywords *** diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-iacl50sl-10kflows-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-iacl50sl-10kflows-ndrpdr.robot index 92ad87b6ab..e44edae3ba 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-iacl50sl-10kflows-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-iacl50sl-10kflows-ndrpdr.robot @@ -73,7 +73,7 @@ | ${port_step}= | ${1} | ${trex_stream1_subnet}= | 10.10.10.0/24 | ${trex_stream2_subnet}= | 20.20.20.0/24 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-2n-ethip4udp-10u1000p-conc *** Keywords *** diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-oacl50sf-10kflows-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-oacl50sf-10kflows-ndrpdr.robot index 90877e7840..dc50eb132a 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-oacl50sf-10kflows-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-oacl50sf-10kflows-ndrpdr.robot @@ -73,7 +73,7 @@ | ${port_step}= | ${1} | ${trex_stream1_subnet}= | 10.10.10.0/24 | ${trex_stream2_subnet}= | 20.20.20.0/24 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-2n-ethip4udp-10u1000p-conc *** Keywords *** diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-oacl50sl-10kflows-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-oacl50sl-10kflows-ndrpdr.robot index 6a675f6e22..c74eb51e1c 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-oacl50sl-10kflows-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-oacl50sl-10kflows-ndrpdr.robot @@ -73,7 +73,7 @@ | ${port_step}= | ${1} | ${trex_stream1_subnet}= | 10.10.10.0/24 | ${trex_stream2_subnet}= | 20.20.20.0/24 -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-2n-ethip4udp-10u1000p-conc *** Keywords *** diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44det-h1-p1-s1-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44det-h1-p1-s1-ndrpdr.robot index 6a695b8248..2081521661 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44det-h1-p1-s1-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44det-h1-p1-s1-ndrpdr.robot @@ -18,7 +18,7 @@ | | Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR | ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | NAT44_DETERMINISTIC -| ... | BASE | DRV_VFIO_PCI +| ... | BASE | UDP | UDP_BIDIR | DRV_VFIO_PCI | ... | RXQ_SIZE_0 | TXQ_SIZE_0 | ... | ethip4udp-nat44det-h1-p1-s1 | diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44det-h1024-p63-s64512-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44det-h1024-p63-s64512-ndrpdr.robot index e0268934cf..02942194e3 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44det-h1024-p63-s64512-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44det-h1024-p63-s64512-ndrpdr.robot @@ -16,8 +16,8 @@ | | Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR | ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | NAT44_DETERMINISTIC -| ... | SCALE | DRV_VFIO_PCI -| ... | SRC_USER_1024 | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | SCALE | HOSTS_1024 | UDP | UDP_BIDIR | DRV_VFIO_PCI +| ... | RXQ_SIZE_0 | TXQ_SIZE_0 | ... | ethip4udp-nat44det-h1024-p63-s64512 | | Suite Setup | Setup suite topology interfaces | performance diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44det-h16384-p63-s1032192-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44det-h16384-p63-s1032192-ndrpdr.robot index 30ee082baa..90a1053c9e 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44det-h16384-p63-s1032192-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44det-h16384-p63-s1032192-ndrpdr.robot @@ -16,7 +16,7 @@ | | Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR | ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | NAT44_DETERMINISTIC -| ... | SRC_USER_16384 | SCALE | DRV_VFIO_PCI +| ... | SCALE | HOSTS_16384 | UDP | UDP_BIDIR | DRV_VFIO_PCI | ... | RXQ_SIZE_0 | TXQ_SIZE_0 | ... | ethip4udp-nat44det-h16384-p63-s1032192 | diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44det-h262144-p63-s16515072-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44det-h262144-p63-s16515072-ndrpdr.robot index 62ce9b4b1c..913f8b353b 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44det-h262144-p63-s16515072-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44det-h262144-p63-s16515072-ndrpdr.robot @@ -16,7 +16,7 @@ | | Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR | ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | NAT44_DETERMINISTIC -| ... | SRC_USER_262144 | SCALE | DRV_VFIO_PCI +| ... | SCALE | HOSTS_262144 | UDP | UDP_BIDIR | DRV_VFIO_PCI | ... | RXQ_SIZE_0 | TXQ_SIZE_0 | ... | ethip4udp-nat44det-h262144-p63-s16515072 | @@ -79,6 +79,8 @@ | ${n_hosts}= | ${262144} | ${n_ports}= | ${63} | ${n_sessions}= | ${${n_hosts} * ${n_ports}} +# Main heap size multiplicator +| ${heap_size_mult}= | ${7} # Ramp-up settings | ${ramp_up_rate}= | ${200000} | ${ramp_up_duration}= | ${82.8} diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44det-h4096-p63-s258048-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44det-h4096-p63-s258048-ndrpdr.robot index 0b1d3f7865..2e11408323 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44det-h4096-p63-s258048-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44det-h4096-p63-s258048-ndrpdr.robot @@ -16,7 +16,7 @@ | | Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR | ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | NAT44_DETERMINISTIC -| ... | SRC_USER_4096 | SCALE | DRV_VFIO_PCI +| ... | SCALE | HOSTS_4096 | UDP | UDP_BIDIR | DRV_VFIO_PCI | ... | RXQ_SIZE_0 | TXQ_SIZE_0 | ... | ethip4udp-nat44det-h4096-p63-s258048 | @@ -82,7 +82,7 @@ # Ramp-up settings | ${ramp_up_rate}= | ${400000} | ${ramp_up_duration}= | ${1.6} -# Traffic profil +# Traffic profile | ${traffic_profile}= | trex-stl-ethip4udp-${n_hosts}u${n_ports}p *** Keywords *** diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44det-h65536-p63-s4128758-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44det-h65536-p63-s4128758-ndrpdr.robot index 041bc21839..7a5bb3f271 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44det-h65536-p63-s4128758-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44det-h65536-p63-s4128758-ndrpdr.robot @@ -16,7 +16,7 @@ | | Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR | ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | NAT44_DETERMINISTIC -| ... | SRC_USER_65536 | SCALE | DRV_VFIO_PCI +| ... | SCALE | HOSTS_65536 | UDP | UDP_BIDIR | DRV_VFIO_PCI | ... | RXQ_SIZE_0 | TXQ_SIZE_0 | ... | ethip4udp-nat44det-h65536-p63-s4128758 | @@ -79,6 +79,8 @@ | ${n_hosts}= | ${65536} | ${n_ports}= | ${63} | ${n_sessions}= | ${${n_hosts} * ${n_ports}} +# Main heap size multiplicator +| ${heap_size_mult}= | ${2} # Ramp-up settings | ${ramp_up_rate}= | ${200000} | ${ramp_up_duration}= | ${23.5} diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h1024-p63-s64512-cps-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h1024-p63-s64512-cps-ndrpdr.robot index cfdcfac9ce..8c75a57723 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h1024-p63-s64512-cps-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h1024-p63-s64512-cps-ndrpdr.robot @@ -17,8 +17,8 @@ | Resource | resources/libraries/robot/shared/traffic.robot | | Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR -| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | UDP_SYN -| ... | NAT44_ENDPOINT_DEPENDENT | BASE | DRV_VFIO_PCI +| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | UDP | UDP_CPS +| ... | NAT44_ENDPOINT_DEPENDENT | SCALE | HOSTS_1024 | DRV_VFIO_PCI | ... | RXQ_SIZE_0 | TXQ_SIZE_0 | ... | ethip4udp-nat44ed-h1024-p63-s64512-cps | @@ -29,8 +29,7 @@ | | Test Template | Local Template | -| Documentation | *RFC2544: Pkt throughput NAT44 endpoint-dependent mode -| ... | performance test cases* +| Documentation | *CPS on empty UDP transactions with NAT44ED* | | ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology | ... | with single links between nodes. @@ -85,12 +84,11 @@ | ${n_hosts}= | ${1024} | ${n_ports}= | ${63} | ${n_sessions}= | ${${n_hosts} * ${n_ports}} -# Traffic profile: -| ${traffic_profile}= | trex-astf-ethip4udp-1024h -| ${cps}= | ${64512} -# Trial data overwrite -| ${trial_duration}= | ${1.1} -| ${trial_multiplicity}= | ${1} +| ${transaction_scale}= | ${n_sessions} +# Traffic profile +| ${traffic_profile}= | trex-astf-ethip4udp-${n_hosts}h +| ${transaction_type}= | udp_cps +| ${disable_latency}= | ${True} *** Keywords *** | Local Template @@ -109,7 +107,6 @@ | | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} | | | | Set Test Variable | \${frame_size} -| | Set Test Variable | \${max_rate} | ${cps} | | ${pre_stats}= | Create List | | ... | vpp-clear-stats | vpp-enable-packettrace | vpp-enable-elog | | ... | vpp-clear-runtime @@ -119,7 +116,7 @@ | | ... | vpp-show-runtime | | Set Test Variable | ${post_stats} | | -| | Given Set Jumbo +| | Given Set Max Rate And Jumbo | | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} | | And Pre-initialize layer driver | ${nic_driver} | | And Add NAT to all DUTs | nat_mode=${nat_mode} @@ -132,7 +129,7 @@ | | And Initialize layer interface | | And Initialize IPv4 forwarding for NAT44 in circular topology | | And Initialize NAT44 endpoint-dependent mode in circular topology -| | Then Find NDR and PDR intervals using optimized search | latency=${False} +| | Then Find NDR and PDR intervals using optimized search *** Test Cases *** | 64B-1c-ethip4udp-nat44ed-h1024-p63-s64512-cps-ndrpdr @@ -146,39 +143,3 @@ | 64B-4c-ethip4udp-nat44ed-h1024-p63-s64512-cps-ndrpdr | | [Tags] | 64B | 4C | | frame_size=${64} | phy_cores=${4} - -| 1518B-1c-ethip4udp-nat44ed-h1024-p63-s64512-cps-ndrpdr -| | [Tags] | 1518B | 1C -| | frame_size=${1518} | phy_cores=${1} - -| 1518B-2c-ethip4udp-nat44ed-h1024-p63-s64512-cps-ndrpdr -| | [Tags] | 1518B | 2C -| | frame_size=${1518} | phy_cores=${2} - -| 1518B-4c-ethip4udp-nat44ed-h1024-p63-s64512-cps-ndrpdr -| | [Tags] | 1518B | 4C -| | frame_size=${1518} | phy_cores=${4} - -| 9000B-1c-ethip4udp-nat44ed-h1024-p63-s64512-cps-ndrpdr -| | [Tags] | 9000B | 1C -| | frame_size=${9000} | phy_cores=${1} - -| 9000B-2c-ethip4udp-nat44ed-h1024-p63-s64512-cps-ndrpdr -| | [Tags] | 9000B | 2C -| | frame_size=${9000} | phy_cores=${2} - -| 9000B-4c-ethip4udp-nat44ed-h1024-p63-s64512-cps-ndrpdr -| | [Tags] | 9000B | 4C -| | frame_size=${9000} | phy_cores=${4} - -| IMIX-1c-ethip4udp-nat44ed-h1024-p63-s64512-cps-ndrpdr -| | [Tags] | IMIX | 1C -| | frame_size=IMIX_v4_1 | phy_cores=${1} - -| IMIX-2c-ethip4udp-nat44ed-h1024-p63-s64512-cps-ndrpdr -| | [Tags] | IMIX | 2C -| | frame_size=IMIX_v4_1 | phy_cores=${2} - -| IMIX-4c-ethip4udp-nat44ed-h1024-p63-s64512-cps-ndrpdr -| | [Tags] | IMIX | 4C -| | frame_size=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h1024-p63-s64512-pps-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h1024-p63-s64512-pps-ndrpdr.robot new file mode 100644 index 0000000000..a279d4b176 --- /dev/null +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h1024-p63-s64512-pps-ndrpdr.robot @@ -0,0 +1,140 @@ +# Copyright (c) 2020 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR +| ... | NIC_Intel-X710 | ETH | IP4FWD | NAT44 | UDP | UDP_PPS | DRV_VFIO_PCI +| ... | SCALE | HOSTS_1024 | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4udp-nat44ed-h1024-p63-s64512-pps +| +| Suite Setup | Setup suite topology interfaces | performance +| Suite Teardown | Tear down suite | performance +| Test Setup | Setup test | performance +| Test Teardown | Tear down test | performance | nat-ed +| +| Test Template | Local Template +| +| # TODO CSIT-1765: Unify suite Documentation. +| Documentation | *PPS on lightweight UDP transactions with NAT44ED* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-UDP for IPv4 routing. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4\ +| ... | routing and two static IPv4 /24 route entries. DUT1 tested with\ +| ... | ${nic_name}. +| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\ +| ... | Rate) with zero packet loss tolerance and throughput PDR (Partial Drop\ +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage\ +| ... | of packets transmitted. NDR and PDR are discovered for different\ +| ... | Ethernet L2 frame sizes using MLRsearch library.\ +| ... | Test packets are generated by TG on links to DUTs. TG traffic profile\ +| ... | contains client and server ASTF programs, generating packets containing\ +| ... | Ethernet header, IPv4 header, UDP header and static payload.\ +| ... | MAC addresses are matching MAC addresses of the TG node interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | nat_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${osi_layer}= | L7 +| ${overhead}= | ${0} +# IP settings +| ${tg_if1_ip4}= | 10.0.0.2 +| ${tg_if1_mask}= | ${20} +| ${tg_if2_ip4}= | 12.0.0.2 +| ${tg_if2_mask}= | ${20} +| ${dut1_if1_ip4}= | 10.0.0.1 +| ${dut1_if1_mask}= | ${24} +| ${dut1_if2_ip4}= | 12.0.0.1 +| ${dut1_if2_mask}= | ${24} +| ${dest_net}= | 20.0.0.0 +| ${dest_mask}= | ${22} +# NAT settings +| ${nat_mode}= | endpoint-dependent +| ${in_net}= | 192.168.0.0 +| ${in_mask}= | ${22} +| ${out_net}= | 68.142.68.0 +| ${out_net_end}= | 68.142.68.0 +| ${out_mask}= | ${32} +# Scale settings +| ${n_hosts}= | ${1024} +| ${n_ports}= | ${63} +| ${n_sessions}= | ${${n_hosts} * ${n_ports}} +| ${transaction_scale}= | ${n_sessions} +| ${packets_per_transaction_and_direction}= | ${33} +# Traffic profile +| ${traffic_profile}= | trex-astf-ethip4udp-${n_hosts}h-pps +| ${transaction_type}= | udp_pps +| ${disable_latency}= | ${True} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Cfg] DUT runs NAT44 ${nat_mode} configuration.\ +| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads. +| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\ +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). +| | ... | Type: integer, string +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | ${pre_stats}= | Create List +| | ... | vpp-clear-stats | vpp-enable-packettrace | vpp-enable-elog +| | ... | vpp-clear-runtime +| | Set Test Variable | ${pre_stats} +| | ${post_stats}= | Create List +| | ... | vpp-show-stats | vpp-show-packettrace | vpp-show-elog +| | ... | vpp-show-runtime +| | Set Test Variable | ${post_stats} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Add NAT to all DUTs | nat_mode=${nat_mode} +| | ${max_translations_per_thread}= | Compute Max Translations Per Thread +| | ... | ${n_sessions} | ${thr_count_int} +| | And Add NAT max translations per thread to all DUTs +| | ... | ${max_translations_per_thread} +| | And Apply startup configuration on all VPP DUTs +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize IPv4 forwarding for NAT44 in circular topology +| | And Initialize NAT44 endpoint-dependent mode in circular topology +| | Then Find NDR and PDR intervals using optimized search + +*** Test Cases *** +| 64B-1c-ethip4udp-nat44ed-h1024-p63-s64512-pps-ndrpdr +| | [Tags] | 64B | 1C +| | frame_size=${64} | phy_cores=${1} + +| 64B-2c-ethip4udp-nat44ed-h1024-p63-s64512-pps-ndrpdr +| | [Tags] | 64B | 2C +| | frame_size=${64} | phy_cores=${2} + +| 64B-4c-ethip4udp-nat44ed-h1024-p63-s64512-pps-ndrpdr +| | [Tags] | 64B | 4C +| | frame_size=${64} | phy_cores=${4} diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h1024-p63-s64512-udir-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h1024-p63-s64512-udir-ndrpdr.robot index 89ba6e4c9d..0119ea1807 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h1024-p63-s64512-udir-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h1024-p63-s64512-udir-ndrpdr.robot @@ -15,8 +15,8 @@ | Resource | resources/libraries/robot/shared/default.robot | | Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR -| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | UDP_SYN -| ... | NAT44_ENDPOINT_DEPENDENT | BASE | DRV_VFIO_PCI +| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | UDP | UDP_UDIR +| ... | NAT44_ENDPOINT_DEPENDENT | SCALE | HOSTS_1024 | DRV_VFIO_PCI | ... | RXQ_SIZE_0 | TXQ_SIZE_0 | ... | ethip4udp-nat44ed-h1024-p63-s64512-udir | @@ -86,8 +86,9 @@ # Ramp-up settings | ${ramp_up_rate}= | ${500000} | ${ramp_up_duration}= | ${1} -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-ethip4udp-${n_hosts}u${n_ports}p-udir +| ${traffic_directions}= | ${1} *** Keywords *** | Local Template @@ -123,7 +124,6 @@ | | Then Send ramp-up traffic | | And Verify NAT44 UDP sessions number on DUT1 node | | And Find NDR and PDR intervals using optimized search -| | ... | traffic_directions=${1} *** Test Cases *** | 64B-1c-ethip4udp-nat44ed-h1024-p63-s64512-udir-ndrpdr diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h16384-p63-s1032192-cps-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h16384-p63-s1032192-cps-ndrpdr.robot index 7ecdf09e44..55a2077f20 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h16384-p63-s1032192-cps-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h16384-p63-s1032192-cps-ndrpdr.robot @@ -17,8 +17,8 @@ | Resource | resources/libraries/robot/shared/traffic.robot | | Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR -| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | UDP_SYN -| ... | NAT44_ENDPOINT_DEPENDENT | BASE | DRV_VFIO_PCI +| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | UDP | UDP_CPS +| ... | NAT44_ENDPOINT_DEPENDENT | SCALE | HOSTS_16384 | DRV_VFIO_PCI | ... | RXQ_SIZE_0 | TXQ_SIZE_0 | ... | ethip4udp-nat44ed-h16384-p63-s1032192-cps | @@ -29,8 +29,7 @@ | | Test Template | Local Template | -| Documentation | *RFC2544: Pkt throughput NAT44 endpoint-dependent mode -| ... | performance test cases* +| Documentation | *CPS on empty UDP transactions with NAT44ED* | | ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology | ... | with single links between nodes. @@ -85,12 +84,11 @@ | ${n_hosts}= | ${16384} | ${n_ports}= | ${63} | ${n_sessions}= | ${${n_hosts} * ${n_ports}} -# Traffic profile: -| ${traffic_profile}= | trex-astf-ethip4udp-16384h -| ${cps}= | ${1032192} -# Trial data overwrite -| ${trial_duration}= | ${1.1} -| ${trial_multiplicity}= | ${1} +| ${transaction_scale}= | ${n_sessions} +# Traffic profile +| ${traffic_profile}= | trex-astf-ethip4udp-${n_hosts}h +| ${transaction_type}= | udp_cps +| ${disable_latency}= | ${True} *** Keywords *** | Local Template @@ -109,7 +107,6 @@ | | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} | | | | Set Test Variable | \${frame_size} -| | Set Test Variable | \${max_rate} | ${cps} | | ${pre_stats}= | Create List | | ... | vpp-clear-stats | vpp-enable-packettrace | vpp-enable-elog | | ... | vpp-clear-runtime @@ -119,7 +116,7 @@ | | ... | vpp-show-runtime | | Set Test Variable | ${post_stats} | | -| | Given Set Jumbo +| | Given Set Max Rate And Jumbo | | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} | | And Pre-initialize layer driver | ${nic_driver} | | And Add NAT to all DUTs | nat_mode=${nat_mode} @@ -132,7 +129,7 @@ | | And Initialize layer interface | | And Initialize IPv4 forwarding for NAT44 in circular topology | | And Initialize NAT44 endpoint-dependent mode in circular topology -| | Then Find NDR and PDR intervals using optimized search | latency=${False} +| | Then Find NDR and PDR intervals using optimized search *** Test Cases *** | 64B-1c-ethip4udp-nat44ed-h16384-p63-s1032192-cps-ndrpdr @@ -146,39 +143,3 @@ | 64B-4c-ethip4udp-nat44ed-h16384-p63-s1032192-cps-ndrpdr | | [Tags] | 64B | 4C | | frame_size=${64} | phy_cores=${4} - -| 1518B-1c-ethip4udp-nat44ed-h16384-p63-s1032192-cps-ndrpdr -| | [Tags] | 1518B | 1C -| | frame_size=${1518} | phy_cores=${1} - -| 1518B-2c-ethip4udp-nat44ed-h16384-p63-s1032192-cps-ndrpdr -| | [Tags] | 1518B | 2C -| | frame_size=${1518} | phy_cores=${2} - -| 1518B-4c-ethip4udp-nat44ed-h16384-p63-s1032192-cps-ndrpdr -| | [Tags] | 1518B | 4C -| | frame_size=${1518} | phy_cores=${4} - -| 9000B-1c-ethip4udp-nat44ed-h16384-p63-s1032192-cps-ndrpdr -| | [Tags] | 9000B | 1C -| | frame_size=${9000} | phy_cores=${1} - -| 9000B-2c-ethip4udp-nat44ed-h16384-p63-s1032192-cps-ndrpdr -| | [Tags] | 9000B | 2C -| | frame_size=${9000} | phy_cores=${2} - -| 9000B-4c-ethip4udp-nat44ed-h16384-p63-s1032192-cps-ndrpdr -| | [Tags] | 9000B | 4C -| | frame_size=${9000} | phy_cores=${4} - -| IMIX-1c-ethip4udp-nat44ed-h16384-p63-s1032192-cps-ndrpdr -| | [Tags] | IMIX | 1C -| | frame_size=IMIX_v4_1 | phy_cores=${1} - -| IMIX-2c-ethip4udp-nat44ed-h16384-p63-s1032192-cps-ndrpdr -| | [Tags] | IMIX | 2C -| | frame_size=IMIX_v4_1 | phy_cores=${2} - -| IMIX-4c-ethip4udp-nat44ed-h16384-p63-s1032192-cps-ndrpdr -| | [Tags] | IMIX | 4C -| | frame_size=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h16384-p63-s1032192-pps-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h16384-p63-s1032192-pps-ndrpdr.robot new file mode 100644 index 0000000000..547e2f5024 --- /dev/null +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h16384-p63-s1032192-pps-ndrpdr.robot @@ -0,0 +1,140 @@ +# Copyright (c) 2020 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR +| ... | NIC_Intel-X710 | ETH | IP4FWD | NAT44 | UDP | UDP_PPS | DRV_VFIO_PCI +| ... | SCALE | HOSTS_16384 | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4udp-nat44ed-h16384-p63-s1032192-pps +| +| Suite Setup | Setup suite topology interfaces | performance +| Suite Teardown | Tear down suite | performance +| Test Setup | Setup test | performance +| Test Teardown | Tear down test | performance | nat-ed +| +| Test Template | Local Template +| +| # TODO CSIT-1765: Unify suite Documentation. +| Documentation | *PPS on lightweight UDP transactions with NAT44ED* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-UDP for IPv4 routing. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4\ +| ... | routing and two static IPv4 /24 route entries. DUT1 tested with\ +| ... | ${nic_name}. +| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\ +| ... | Rate) with zero packet loss tolerance and throughput PDR (Partial Drop\ +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage\ +| ... | of packets transmitted. NDR and PDR are discovered for different\ +| ... | Ethernet L2 frame sizes using MLRsearch library.\ +| ... | Test packets are generated by TG on links to DUTs. TG traffic profile\ +| ... | contains client and server ASTF programs, generating packets containing\ +| ... | Ethernet header, IPv4 header, UDP header and static payload.\ +| ... | MAC addresses are matching MAC addresses of the TG node interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | nat_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${osi_layer}= | L7 +| ${overhead}= | ${0} +# IP settings +| ${tg_if1_ip4}= | 10.0.0.2 +| ${tg_if1_mask}= | ${20} +| ${tg_if2_ip4}= | 12.0.0.2 +| ${tg_if2_mask}= | ${20} +| ${dut1_if1_ip4}= | 10.0.0.1 +| ${dut1_if1_mask}= | ${24} +| ${dut1_if2_ip4}= | 12.0.0.1 +| ${dut1_if2_mask}= | ${24} +| ${dest_net}= | 20.0.0.0 +| ${dest_mask}= | ${18} +# NAT settings +| ${nat_mode}= | endpoint-dependent +| ${in_net}= | 192.168.0.0 +| ${in_mask}= | ${18} +| ${out_net}= | 68.142.68.0 +| ${out_net_end}= | 68.142.68.15 +| ${out_mask}= | ${28} +# Scale settings +| ${n_hosts}= | ${16384} +| ${n_ports}= | ${63} +| ${n_sessions}= | ${${n_hosts} * ${n_ports}} +| ${transaction_scale}= | ${n_sessions} +| ${packets_per_transaction_and_direction}= | ${33} +# Traffic profile +| ${traffic_profile}= | trex-astf-ethip4udp-${n_hosts}h-pps +| ${transaction_type}= | udp_pps +| ${disable_latency}= | ${True} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Cfg] DUT runs NAT44 ${nat_mode} configuration.\ +| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads. +| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\ +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). +| | ... | Type: integer, string +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | ${pre_stats}= | Create List +| | ... | vpp-clear-stats | vpp-enable-packettrace | vpp-enable-elog +| | ... | vpp-clear-runtime +| | Set Test Variable | ${pre_stats} +| | ${post_stats}= | Create List +| | ... | vpp-show-stats | vpp-show-packettrace | vpp-show-elog +| | ... | vpp-show-runtime +| | Set Test Variable | ${post_stats} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Add NAT to all DUTs | nat_mode=${nat_mode} +| | ${max_translations_per_thread}= | Compute Max Translations Per Thread +| | ... | ${n_sessions} | ${thr_count_int} +| | And Add NAT max translations per thread to all DUTs +| | ... | ${max_translations_per_thread} +| | And Apply startup configuration on all VPP DUTs +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize IPv4 forwarding for NAT44 in circular topology +| | And Initialize NAT44 endpoint-dependent mode in circular topology +| | Then Find NDR and PDR intervals using optimized search + +*** Test Cases *** +| 64B-1c-ethip4udp-nat44ed-h16384-p63-s1032192-pps-ndrpdr +| | [Tags] | 64B | 1C +| | frame_size=${64} | phy_cores=${1} + +| 64B-2c-ethip4udp-nat44ed-h16384-p63-s1032192-pps-ndrpdr +| | [Tags] | 64B | 2C +| | frame_size=${64} | phy_cores=${2} + +| 64B-4c-ethip4udp-nat44ed-h16384-p63-s1032192-pps-ndrpdr +| | [Tags] | 64B | 4C +| | frame_size=${64} | phy_cores=${4} diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h16384-p63-s1032192-udir-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h16384-p63-s1032192-udir-ndrpdr.robot index 0f421e3687..8584398646 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h16384-p63-s1032192-udir-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h16384-p63-s1032192-udir-ndrpdr.robot @@ -15,8 +15,8 @@ | Resource | resources/libraries/robot/shared/default.robot | | Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR -| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | UDP_SYN -| ... | NAT44_ENDPOINT_DEPENDENT | BASE | DRV_VFIO_PCI +| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | UDP | UDP_UDIR +| ... | NAT44_ENDPOINT_DEPENDENT | SCALE | HOSTS_16384 | DRV_VFIO_PCI | ... | RXQ_SIZE_0 | TXQ_SIZE_0 | ... | ethip4udp-nat44ed-h16384-p63-s1032192-udir | @@ -86,8 +86,9 @@ # Ramp-up settings | ${ramp_up_rate}= | ${500000} | ${ramp_up_duration}= | ${4.5} -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-ethip4udp-${n_hosts}u${n_ports}p-udir +| ${traffic_directions}= | ${1} *** Keywords *** | Local Template @@ -123,7 +124,6 @@ | | Then Send ramp-up traffic | | And Verify NAT44 UDP sessions number on DUT1 node | | And Find NDR and PDR intervals using optimized search -| | ... | traffic_directions=${1} *** Test Cases *** | 64B-1c-ethip4udp-nat44ed-h16384-p63-s1032192-udir-ndrpdr diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h262144-p63-s16515072-cps-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h262144-p63-s16515072-cps-ndrpdr.robot index cf40a03d00..aa0ca1a757 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h262144-p63-s16515072-cps-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h262144-p63-s16515072-cps-ndrpdr.robot @@ -17,8 +17,8 @@ | Resource | resources/libraries/robot/shared/traffic.robot | | Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR -| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | UDP_SYN -| ... | NAT44_ENDPOINT_DEPENDENT | BASE | DRV_VFIO_PCI +| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | UDP | UDP_CPS +| ... | NAT44_ENDPOINT_DEPENDENT | SCALE | HOSTS_262144 | DRV_VFIO_PCI | ... | RXQ_SIZE_0 | TXQ_SIZE_0 | ... | ethip4udp-nat44ed-h262144-p63-s16515072-cps | @@ -29,8 +29,7 @@ | | Test Template | Local Template | -| Documentation | *RFC2544: Pkt throughput NAT44 endpoint-dependent mode -| ... | performance test cases* +| Documentation | *CPS on empty UDP transactions with NAT44ED* | | ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology | ... | with single links between nodes. @@ -85,12 +84,13 @@ | ${n_hosts}= | ${262144} | ${n_ports}= | ${63} | ${n_sessions}= | ${${n_hosts} * ${n_ports}} -# Traffic profile: -| ${traffic_profile}= | trex-astf-ethip4udp-262144h -| ${cps}= | ${16515072} -# Trial data overwrite -| ${trial_duration}= | ${1.1} -| ${trial_multiplicity}= | ${1} +| ${transaction_scale}= | ${n_sessions} +# Main heap size multiplicator +| ${heap_size_mult}= | ${7} +# Traffic profile +| ${traffic_profile}= | trex-astf-ethip4udp-${n_hosts}h +| ${transaction_type}= | udp_cps +| ${disable_latency}= | ${True} *** Keywords *** | Local Template @@ -109,7 +109,6 @@ | | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} | | | | Set Test Variable | \${frame_size} -| | Set Test Variable | \${max_rate} | ${cps} | | ${pre_stats}= | Create List | | ... | vpp-clear-stats | vpp-enable-packettrace | vpp-enable-elog | | ... | vpp-clear-runtime @@ -119,7 +118,7 @@ | | ... | vpp-show-runtime | | Set Test Variable | ${post_stats} | | -| | Given Set Jumbo +| | Given Set Max Rate And Jumbo | | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} | | And Pre-initialize layer driver | ${nic_driver} | | And Add NAT to all DUTs | nat_mode=${nat_mode} @@ -132,7 +131,7 @@ | | And Initialize layer interface | | And Initialize IPv4 forwarding for NAT44 in circular topology | | And Initialize NAT44 endpoint-dependent mode in circular topology -| | Then Find NDR and PDR intervals using optimized search | latency=${False} +| | Then Find NDR and PDR intervals using optimized search *** Test Cases *** | 64B-1c-ethip4udp-nat44ed-h262144-p63-s16515072-cps-ndrpdr @@ -146,39 +145,3 @@ | 64B-4c-ethip4udp-nat44ed-h262144-p63-s16515072-cps-ndrpdr | | [Tags] | 64B | 4C | | frame_size=${64} | phy_cores=${4} - -| 1518B-1c-ethip4udp-nat44ed-h262144-p63-s16515072-cps-ndrpdr -| | [Tags] | 1518B | 1C -| | frame_size=${1518} | phy_cores=${1} - -| 1518B-2c-ethip4udp-nat44ed-h262144-p63-s16515072-cps-ndrpdr -| | [Tags] | 1518B | 2C -| | frame_size=${1518} | phy_cores=${2} - -| 1518B-4c-ethip4udp-nat44ed-h262144-p63-s16515072-cps-ndrpdr -| | [Tags] | 1518B | 4C -| | frame_size=${1518} | phy_cores=${4} - -| 9000B-1c-ethip4udp-nat44ed-h262144-p63-s16515072-cps-ndrpdr -| | [Tags] | 9000B | 1C -| | frame_size=${9000} | phy_cores=${1} - -| 9000B-2c-ethip4udp-nat44ed-h262144-p63-s16515072-cps-ndrpdr -| | [Tags] | 9000B | 2C -| | frame_size=${9000} | phy_cores=${2} - -| 9000B-4c-ethip4udp-nat44ed-h262144-p63-s16515072-cps-ndrpdr -| | [Tags] | 9000B | 4C -| | frame_size=${9000} | phy_cores=${4} - -| IMIX-1c-ethip4udp-nat44ed-h262144-p63-s16515072-cps-ndrpdr -| | [Tags] | IMIX | 1C -| | frame_size=IMIX_v4_1 | phy_cores=${1} - -| IMIX-2c-ethip4udp-nat44ed-h262144-p63-s16515072-cps-ndrpdr -| | [Tags] | IMIX | 2C -| | frame_size=IMIX_v4_1 | phy_cores=${2} - -| IMIX-4c-ethip4udp-nat44ed-h262144-p63-s16515072-cps-ndrpdr -| | [Tags] | IMIX | 4C -| | frame_size=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h262144-p63-s16515072-pps-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h262144-p63-s16515072-pps-ndrpdr.robot new file mode 100644 index 0000000000..6cc6d294d9 --- /dev/null +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h262144-p63-s16515072-pps-ndrpdr.robot @@ -0,0 +1,142 @@ +# Copyright (c) 2020 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR +| ... | NIC_Intel-X710 | ETH | IP4FWD | NAT44 | UD | UDP_PPS | DRV_VFIO_PCI +| ... | SCALE | HOSTS_262144 | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4udp-nat44ed-h262144-p63-s16515072-pps +| +| Suite Setup | Setup suite topology interfaces | performance +| Suite Teardown | Tear down suite | performance +| Test Setup | Setup test | performance +| Test Teardown | Tear down test | performance | nat-ed +| +| Test Template | Local Template +| +| # TODO CSIT-1765: Unify suite Documentation. +| Documentation | *PPS on lightweight UDP transactions with NAT44ED* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-UDP for IPv4 routing. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4\ +| ... | routing and two static IPv4 /24 route entries. DUT1 tested with\ +| ... | ${nic_name}. +| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\ +| ... | Rate) with zero packet loss tolerance and throughput PDR (Partial Drop\ +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage\ +| ... | of packets transmitted. NDR and PDR are discovered for different\ +| ... | Ethernet L2 frame sizes using MLRsearch library.\ +| ... | Test packets are generated by TG on links to DUTs. TG traffic profile\ +| ... | contains client and server ASTF programs, generating packets containing\ +| ... | Ethernet header, IPv4 header, UDP header and static payload.\ +| ... | MAC addresses are matching MAC addresses of the TG node interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | nat_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${osi_layer}= | L7 +| ${overhead}= | ${0} +# IP settings +| ${tg_if1_ip4}= | 10.0.0.2 +| ${tg_if1_mask}= | ${20} +| ${tg_if2_ip4}= | 12.0.0.2 +| ${tg_if2_mask}= | ${20} +| ${dut1_if1_ip4}= | 10.0.0.1 +| ${dut1_if1_mask}= | ${24} +| ${dut1_if2_ip4}= | 12.0.0.1 +| ${dut1_if2_mask}= | ${24} +| ${dest_net}= | 20.16.0.0 +| ${dest_mask}= | ${14} +# NAT settings +| ${nat_mode}= | endpoint-dependent +| ${in_net}= | 172.16.0.0 +| ${in_mask}= | ${14} +| ${out_net}= | 68.142.68.0 +| ${out_net_end}= | 68.142.68.255 +| ${out_mask}= | ${24} +# Scale settings +| ${n_hosts}= | ${262144} +| ${n_ports}= | ${63} +| ${n_sessions}= | ${${n_hosts} * ${n_ports}} +| ${transaction_scale}= | ${n_sessions} +| ${packets_per_transaction_and_direction}= | ${33} +# Main heap size multiplicator +| ${heap_size_mult}= | ${7} +# Traffic profile +| ${traffic_profile}= | trex-astf-ethip4udp-${n_hosts}h-pps +| ${transaction_type}= | udp_pps +| ${disable_latency}= | ${True} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Cfg] DUT runs NAT44 ${nat_mode} configuration.\ +| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads. +| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\ +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). +| | ... | Type: integer, string +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | ${pre_stats}= | Create List +| | ... | vpp-clear-stats | vpp-enable-packettrace | vpp-enable-elog +| | ... | vpp-clear-runtime +| | Set Test Variable | ${pre_stats} +| | ${post_stats}= | Create List +| | ... | vpp-show-stats | vpp-show-packettrace | vpp-show-elog +| | ... | vpp-show-runtime +| | Set Test Variable | ${post_stats} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Add NAT to all DUTs | nat_mode=${nat_mode} +| | ${max_translations_per_thread}= | Compute Max Translations Per Thread +| | ... | ${n_sessions} | ${thr_count_int} +| | And Add NAT max translations per thread to all DUTs +| | ... | ${max_translations_per_thread} +| | And Apply startup configuration on all VPP DUTs +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize IPv4 forwarding for NAT44 in circular topology +| | And Initialize NAT44 endpoint-dependent mode in circular topology +| | Then Find NDR and PDR intervals using optimized search + +*** Test Cases *** +| 64B-1c-ethip4udp-nat44ed-h262144-p63-s16515072-pps-ndrpdr +| | [Tags] | 64B | 1C +| | frame_size=${64} | phy_cores=${1} + +| 64B-2c-ethip4udp-nat44ed-h262144-p63-s16515072-pps-ndrpdr +| | [Tags] | 64B | 2C +| | frame_size=${64} | phy_cores=${2} + +| 64B-4c-ethip4udp-nat44ed-h262144-p63-s16515072-pps-ndrpdr +| | [Tags] | 64B | 4C +| | frame_size=${64} | phy_cores=${4} diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h262144-p63-s16515072-udir-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h262144-p63-s16515072-udir-ndrpdr.robot index 9f17649ce0..76361dbf9d 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h262144-p63-s16515072-udir-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h262144-p63-s16515072-udir-ndrpdr.robot @@ -15,8 +15,8 @@ | Resource | resources/libraries/robot/shared/default.robot | | Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR -| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | UDP_SYN -| ... | NAT44_ENDPOINT_DEPENDENT | BASE | DRV_VFIO_PCI +| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | UDP | UDP_UDIR +| ... | NAT44_ENDPOINT_DEPENDENT | SCALE | HOSTS_262144 | DRV_VFIO_PCI | ... | RXQ_SIZE_0 | TXQ_SIZE_0 | ... | ethip4udp-nat44ed-h262144-p63-s16515072-udir | @@ -83,13 +83,14 @@ | ${n_hosts}= | ${262144} | ${n_ports}= | ${63} | ${n_sessions}= | ${${n_hosts} * ${n_ports}} +# Main heap size multiplicator +| ${heap_size_mult}= | ${7} # Ramp-up settings | ${ramp_up_rate}= | ${500000} | ${ramp_up_duration}= | ${72.7} -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-ethip4udp-${n_hosts}u${n_ports}p-udir -# Main heap size multiplicator -| ${heap_size_mult}= | ${3} +| ${traffic_directions}= | ${1} *** Keywords *** | Local Template @@ -125,7 +126,6 @@ | | Then Send ramp-up traffic | | And Verify NAT44 UDP sessions number on DUT1 node | | And Find NDR and PDR intervals using optimized search -| | ... | traffic_directions=${1} *** Test Cases *** | 64B-1c-ethip4udp-nat44ed-h262144-p63-s16515072-udir-ndrpdr diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h4096-p63-s258048-cps-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h4096-p63-s258048-cps-ndrpdr.robot index 98a00a655d..efce02da2e 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h4096-p63-s258048-cps-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h4096-p63-s258048-cps-ndrpdr.robot @@ -17,8 +17,8 @@ | Resource | resources/libraries/robot/shared/traffic.robot | | Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR -| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | UDP_SYN -| ... | NAT44_ENDPOINT_DEPENDENT | BASE | DRV_VFIO_PCI +| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | UDP | UDP_CPS +| ... | NAT44_ENDPOINT_DEPENDENT | SCALE | HOSTS_4096 | DRV_VFIO_PCI | ... | RXQ_SIZE_0 | TXQ_SIZE_0 | ... | ethip4udp-nat44ed-h4096-p63-s258048-cps | @@ -29,8 +29,7 @@ | | Test Template | Local Template | -| Documentation | *RFC2544: Pkt throughput NAT44 endpoint-dependent mode -| ... | performance test cases* +| Documentation | *CPS on empty UDP transactions with NAT44ED* | | ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology | ... | with single links between nodes. @@ -85,12 +84,11 @@ | ${n_hosts}= | ${4096} | ${n_ports}= | ${63} | ${n_sessions}= | ${${n_hosts} * ${n_ports}} -# Traffic profile: -| ${traffic_profile}= | trex-astf-ethip4udp-4096h -| ${cps}= | ${258048} -# Trial data overwrite -| ${trial_duration}= | ${1.1} -| ${trial_multiplicity}= | ${1} +| ${transaction_scale}= | ${n_sessions} +# Traffic profile +| ${traffic_profile}= | trex-astf-ethip4udp-${n_hosts}h +| ${transaction_type}= | udp_cps +| ${disable_latency}= | ${True} *** Keywords *** | Local Template @@ -109,7 +107,6 @@ | | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} | | | | Set Test Variable | \${frame_size} -| | Set Test Variable | \${max_rate} | ${cps} | | ${pre_stats}= | Create List | | ... | vpp-clear-stats | vpp-enable-packettrace | vpp-enable-elog | | ... | vpp-clear-runtime @@ -119,7 +116,7 @@ | | ... | vpp-show-runtime | | Set Test Variable | ${post_stats} | | -| | Given Set Jumbo +| | Given Set Max Rate And Jumbo | | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} | | And Pre-initialize layer driver | ${nic_driver} | | And Add NAT to all DUTs | nat_mode=${nat_mode} @@ -132,7 +129,7 @@ | | And Initialize layer interface | | And Initialize IPv4 forwarding for NAT44 in circular topology | | And Initialize NAT44 endpoint-dependent mode in circular topology -| | Then Find NDR and PDR intervals using optimized search | latency=${False} +| | Then Find NDR and PDR intervals using optimized search *** Test Cases *** | 64B-1c-ethip4udp-nat44ed-h4096-p63-s258048-cps-ndrpdr @@ -146,39 +143,3 @@ | 64B-4c-ethip4udp-nat44ed-h4096-p63-s258048-cps-ndrpdr | | [Tags] | 64B | 4C | | frame_size=${64} | phy_cores=${4} - -| 1518B-1c-ethip4udp-nat44ed-h4096-p63-s258048-cps-ndrpdr -| | [Tags] | 1518B | 1C -| | frame_size=${1518} | phy_cores=${1} - -| 1518B-2c-ethip4udp-nat44ed-h4096-p63-s258048-cps-ndrpdr -| | [Tags] | 1518B | 2C -| | frame_size=${1518} | phy_cores=${2} - -| 1518B-4c-ethip4udp-nat44ed-h4096-p63-s258048-cps-ndrpdr -| | [Tags] | 1518B | 4C -| | frame_size=${1518} | phy_cores=${4} - -| 9000B-1c-ethip4udp-nat44ed-h4096-p63-s258048-cps-ndrpdr -| | [Tags] | 9000B | 1C -| | frame_size=${9000} | phy_cores=${1} - -| 9000B-2c-ethip4udp-nat44ed-h4096-p63-s258048-cps-ndrpdr -| | [Tags] | 9000B | 2C -| | frame_size=${9000} | phy_cores=${2} - -| 9000B-4c-ethip4udp-nat44ed-h4096-p63-s258048-cps-ndrpdr -| | [Tags] | 9000B | 4C -| | frame_size=${9000} | phy_cores=${4} - -| IMIX-1c-ethip4udp-nat44ed-h4096-p63-s258048-cps-ndrpdr -| | [Tags] | IMIX | 1C -| | frame_size=IMIX_v4_1 | phy_cores=${1} - -| IMIX-2c-ethip4udp-nat44ed-h4096-p63-s258048-cps-ndrpdr -| | [Tags] | IMIX | 2C -| | frame_size=IMIX_v4_1 | phy_cores=${2} - -| IMIX-4c-ethip4udp-nat44ed-h4096-p63-s258048-cps-ndrpdr -| | [Tags] | IMIX | 4C -| | frame_size=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h4096-p63-s258048-pps-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h4096-p63-s258048-pps-ndrpdr.robot new file mode 100644 index 0000000000..c1c5ce6314 --- /dev/null +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h4096-p63-s258048-pps-ndrpdr.robot @@ -0,0 +1,140 @@ +# Copyright (c) 2020 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR +| ... | NIC_Intel-X710 | ETH | IP4FWD | NAT44 | UDP | UDP_PPS | DRV_VFIO_PCI +| ... | SCALE | HOSTS_4096 | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4udp-nat44ed-h4096-p63-s258048-pps +| +| Suite Setup | Setup suite topology interfaces | performance +| Suite Teardown | Tear down suite | performance +| Test Setup | Setup test | performance +| Test Teardown | Tear down test | performance | nat-ed +| +| Test Template | Local Template +| +| # TODO CSIT-1765: Unify suite Documentation. +| Documentation | *PPS on lightweight UDP transactions with NAT44ED* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-UDP for IPv4 routing. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4\ +| ... | routing and two static IPv4 /24 route entries. DUT1 tested with\ +| ... | ${nic_name}. +| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\ +| ... | Rate) with zero packet loss tolerance and throughput PDR (Partial Drop\ +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage\ +| ... | of packets transmitted. NDR and PDR are discovered for different\ +| ... | Ethernet L2 frame sizes using MLRsearch library.\ +| ... | Test packets are generated by TG on links to DUTs. TG traffic profile\ +| ... | contains client and server ASTF programs, generating packets containing\ +| ... | Ethernet header, IPv4 header, UDP header and static payload.\ +| ... | MAC addresses are matching MAC addresses of the TG node interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | nat_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${osi_layer}= | L7 +| ${overhead}= | ${0} +# IP settings +| ${tg_if1_ip4}= | 10.0.0.2 +| ${tg_if1_mask}= | ${20} +| ${tg_if2_ip4}= | 12.0.0.2 +| ${tg_if2_mask}= | ${20} +| ${dut1_if1_ip4}= | 10.0.0.1 +| ${dut1_if1_mask}= | ${24} +| ${dut1_if2_ip4}= | 12.0.0.1 +| ${dut1_if2_mask}= | ${24} +| ${dest_net}= | 20.0.0.0 +| ${dest_mask}= | ${20} +# NAT settings +| ${nat_mode}= | endpoint-dependent +| ${in_net}= | 192.168.0.0 +| ${in_mask}= | ${20} +| ${out_net}= | 68.142.68.0 +| ${out_net_end}= | 68.142.68.3 +| ${out_mask}= | ${20} +# Scale settings +| ${n_hosts}= | ${4096} +| ${n_ports}= | ${63} +| ${n_sessions}= | ${${n_hosts} * ${n_ports}} +| ${transaction_scale}= | ${n_sessions} +| ${packets_per_transaction_and_direction}= | ${33} +# Traffic profile +| ${traffic_profile}= | trex-astf-ethip4udp-${n_hosts}h-pps +| ${transaction_type}= | udp_pps +| ${disable_latency}= | ${True} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Cfg] DUT runs NAT44 ${nat_mode} configuration.\ +| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads. +| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\ +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). +| | ... | Type: integer, string +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | ${pre_stats}= | Create List +| | ... | vpp-clear-stats | vpp-enable-packettrace | vpp-enable-elog +| | ... | vpp-clear-runtime +| | Set Test Variable | ${pre_stats} +| | ${post_stats}= | Create List +| | ... | vpp-show-stats | vpp-show-packettrace | vpp-show-elog +| | ... | vpp-show-runtime +| | Set Test Variable | ${post_stats} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Add NAT to all DUTs | nat_mode=${nat_mode} +| | ${max_translations_per_thread}= | Compute Max Translations Per Thread +| | ... | ${n_sessions} | ${thr_count_int} +| | And Add NAT max translations per thread to all DUTs +| | ... | ${max_translations_per_thread} +| | And Apply startup configuration on all VPP DUTs +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize IPv4 forwarding for NAT44 in circular topology +| | And Initialize NAT44 endpoint-dependent mode in circular topology +| | Then Find NDR and PDR intervals using optimized search + +*** Test Cases *** +| 64B-1c-ethip4udp-nat44ed-h4096-p63-s258048-pps-ndrpdr +| | [Tags] | 64B | 1C +| | frame_size=${64} | phy_cores=${1} + +| 64B-2c-ethip4udp-nat44ed-h4096-p63-s258048-pps-ndrpdr +| | [Tags] | 64B | 2C +| | frame_size=${64} | phy_cores=${2} + +| 64B-4c-ethip4udp-nat44ed-h4096-p63-s258048-pps-ndrpdr +| | [Tags] | 64B | 4C +| | frame_size=${64} | phy_cores=${4} diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h4096-p63-s258048-udir-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h4096-p63-s258048-udir-ndrpdr.robot index b201e36cfe..4c7015bf43 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h4096-p63-s258048-udir-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h4096-p63-s258048-udir-ndrpdr.robot @@ -15,8 +15,8 @@ | Resource | resources/libraries/robot/shared/default.robot | | Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR -| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | UDP_SYN -| ... | NAT44_ENDPOINT_DEPENDENT | BASE | DRV_VFIO_PCI +| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | UDP | UDP_UDIR +| ... | NAT44_ENDPOINT_DEPENDENT | SCALE | HOSTS_4096 | DRV_VFIO_PCI | ... | RXQ_SIZE_0 | TXQ_SIZE_0 | ... | ethip4udp-nat44ed-h4096-p63-s258048-udir | @@ -86,8 +86,9 @@ # Ramp-up settings | ${ramp_up_rate}= | ${500000} | ${ramp_up_duration}= | ${1.1} -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-ethip4udp-${n_hosts}u${n_ports}p-udir +| ${traffic_directions}= | ${1} *** Keywords *** | Local Template @@ -123,7 +124,6 @@ | | Then Send ramp-up traffic | | And Verify NAT44 UDP sessions number on DUT1 node | | And Find NDR and PDR intervals using optimized search -| | ... | traffic_directions=${1} *** Test Cases *** | 64B-1c-ethip4udp-nat44ed-h4096-p63-s258048-udir-ndrpdr diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h65536-p63-s4128768-cps-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h65536-p63-s4128768-cps-ndrpdr.robot index bdd0ce5164..981d141f5a 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h65536-p63-s4128768-cps-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h65536-p63-s4128768-cps-ndrpdr.robot @@ -17,8 +17,8 @@ | Resource | resources/libraries/robot/shared/traffic.robot | | Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR -| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | UDP_SYN -| ... | NAT44_ENDPOINT_DEPENDENT | BASE | DRV_VFIO_PCI +| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | UDP | UDP_CPS +| ... | NAT44_ENDPOINT_DEPENDENT | SCALE | HOSTS_65536 | DRV_VFIO_PCI | ... | RXQ_SIZE_0 | TXQ_SIZE_0 | ... | ethip4udp-nat44ed-h65536-p63-s4128768-cps | @@ -29,8 +29,7 @@ | | Test Template | Local Template | -| Documentation | *RFC2544: Pkt throughput NAT44 endpoint-dependent mode -| ... | performance test cases* +| Documentation | *CPS on empty UDP transactions with NAT44ED* | | ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology | ... | with single links between nodes. @@ -85,12 +84,13 @@ | ${n_hosts}= | ${65536} | ${n_ports}= | ${63} | ${n_sessions}= | ${${n_hosts} * ${n_ports}} -# Traffic profile: -| ${traffic_profile}= | trex-astf-ethip4udp-65536h -| ${cps}= | ${4128768} -# Trial data overwrite -| ${trial_duration}= | ${1.1} -| ${trial_multiplicity}= | ${1} +| ${transaction_scale}= | ${n_sessions} +# Main heap size multiplicator +| ${heap_size_mult}= | ${2} +# Traffic profile +| ${traffic_profile}= | trex-astf-ethip4udp-${n_hosts}h +| ${transaction_type}= | udp_cps +| ${disable_latency}= | ${True} *** Keywords *** | Local Template @@ -109,7 +109,6 @@ | | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} | | | | Set Test Variable | \${frame_size} -| | Set Test Variable | \${max_rate} | ${cps} | | ${pre_stats}= | Create List | | ... | vpp-clear-stats | vpp-enable-packettrace | vpp-enable-elog | | ... | vpp-clear-runtime @@ -119,7 +118,7 @@ | | ... | vpp-show-runtime | | Set Test Variable | ${post_stats} | | -| | Given Set Jumbo +| | Given Set Max Rate And Jumbo | | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} | | And Pre-initialize layer driver | ${nic_driver} | | And Add NAT to all DUTs | nat_mode=${nat_mode} @@ -132,7 +131,7 @@ | | And Initialize layer interface | | And Initialize IPv4 forwarding for NAT44 in circular topology | | And Initialize NAT44 endpoint-dependent mode in circular topology -| | Then Find NDR and PDR intervals using optimized search | latency=${False} +| | Then Find NDR and PDR intervals using optimized search *** Test Cases *** | 64B-1c-ethip4udp-nat44ed-h65536-p63-s4128768-cps-ndrpdr @@ -146,39 +145,3 @@ | 64B-4c-ethip4udp-nat44ed-h65536-p63-s4128768-cps-ndrpdr | | [Tags] | 64B | 4C | | frame_size=${64} | phy_cores=${4} - -| 1518B-1c-ethip4udp-nat44ed-h65536-p63-s4128768-cps-ndrpdr -| | [Tags] | 1518B | 1C -| | frame_size=${1518} | phy_cores=${1} - -| 1518B-2c-ethip4udp-nat44ed-h65536-p63-s4128768-cps-ndrpdr -| | [Tags] | 1518B | 2C -| | frame_size=${1518} | phy_cores=${2} - -| 1518B-4c-ethip4udp-nat44ed-h65536-p63-s4128768-cps-ndrpdr -| | [Tags] | 1518B | 4C -| | frame_size=${1518} | phy_cores=${4} - -| 9000B-1c-ethip4udp-nat44ed-h65536-p63-s4128768-cps-ndrpdr -| | [Tags] | 9000B | 1C -| | frame_size=${9000} | phy_cores=${1} - -| 9000B-2c-ethip4udp-nat44ed-h65536-p63-s4128768-cps-ndrpdr -| | [Tags] | 9000B | 2C -| | frame_size=${9000} | phy_cores=${2} - -| 9000B-4c-ethip4udp-nat44ed-h65536-p63-s4128768-cps-ndrpdr -| | [Tags] | 9000B | 4C -| | frame_size=${9000} | phy_cores=${4} - -| IMIX-1c-ethip4udp-nat44ed-h65536-p63-s4128768-cps-ndrpdr -| | [Tags] | IMIX | 1C -| | frame_size=IMIX_v4_1 | phy_cores=${1} - -| IMIX-2c-ethip4udp-nat44ed-h65536-p63-s4128768-cps-ndrpdr -| | [Tags] | IMIX | 2C -| | frame_size=IMIX_v4_1 | phy_cores=${2} - -| IMIX-4c-ethip4udp-nat44ed-h65536-p63-s4128768-cps-ndrpdr -| | [Tags] | IMIX | 4C -| | frame_size=IMIX_v4_1 | phy_cores=${4} diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h65536-p63-s4128768-pps-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h65536-p63-s4128768-pps-ndrpdr.robot new file mode 100644 index 0000000000..4065da9623 --- /dev/null +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h65536-p63-s4128768-pps-ndrpdr.robot @@ -0,0 +1,142 @@ +# Copyright (c) 2020 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +*** Settings *** +| Resource | resources/libraries/robot/shared/default.robot +| +| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR +| ... | NIC_Intel-X710 | ETH | IP4FWD | NAT44 | UDP | UDP_PPS | DRV_VFIO_PCI +| ... | SCALE | HOSTS_65536 | RXQ_SIZE_0 | TXQ_SIZE_0 +| ... | ethip4udp-nat44ed-h65536-p63-s4128768-pps +| +| Suite Setup | Setup suite topology interfaces | performance +| Suite Teardown | Tear down suite | performance +| Test Setup | Setup test | performance +| Test Teardown | Tear down test | performance | nat-ed +| +| Test Template | Local Template +| +| # TODO CSIT-1765: Unify suite Documentation. +| Documentation | *PPS on lightweight UDP transactions with NAT44ED* +| +| ... | *[Top] Network Topologies:* TG-DUT1-TG 2-node circular topology\ +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-UDP for IPv4 routing. +| ... | *[Cfg] DUT configuration:* DUT1 is configured with IPv4\ +| ... | routing and two static IPv4 /24 route entries. DUT1 tested with\ +| ... | ${nic_name}. +| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\ +| ... | Rate) with zero packet loss tolerance and throughput PDR (Partial Drop\ +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage\ +| ... | of packets transmitted. NDR and PDR are discovered for different\ +| ... | Ethernet L2 frame sizes using MLRsearch library.\ +| ... | Test packets are generated by TG on links to DUTs. TG traffic profile\ +| ... | contains client and server ASTF programs, generating packets containing\ +| ... | Ethernet header, IPv4 header, UDP header and static payload.\ +| ... | MAC addresses are matching MAC addresses of the TG node interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +| @{plugins_to_enable}= | dpdk_plugin.so | nat_plugin.so +| ${crypto_type}= | ${None} +| ${nic_name}= | Intel-X710 +| ${nic_driver}= | vfio-pci +| ${nic_rxq_size}= | 0 +| ${nic_txq_size}= | 0 +| ${nic_pfs}= | 2 +| ${nic_vfs}= | 0 +| ${osi_layer}= | L7 +| ${overhead}= | ${0} +# IP settings +| ${tg_if1_ip4}= | 10.0.0.2 +| ${tg_if1_mask}= | ${20} +| ${tg_if2_ip4}= | 12.0.0.2 +| ${tg_if2_mask}= | ${20} +| ${dut1_if1_ip4}= | 10.0.0.1 +| ${dut1_if1_mask}= | ${24} +| ${dut1_if2_ip4}= | 12.0.0.1 +| ${dut1_if2_mask}= | ${24} +| ${dest_net}= | 20.0.0.0 +| ${dest_mask}= | ${16} +# NAT settings +| ${nat_mode}= | endpoint-dependent +| ${in_net}= | 192.168.0.0 +| ${in_mask}= | ${16} +| ${out_net}= | 68.142.68.0 +| ${out_net_end}= | 68.142.68.63 +| ${out_mask}= | ${26} +# Scale settings +| ${n_hosts}= | ${65536} +| ${n_ports}= | ${63} +| ${n_sessions}= | ${${n_hosts} * ${n_ports}} +| ${transaction_scale}= | ${n_sessions} +| ${packets_per_transaction_and_direction}= | ${33} +# Main heap size multiplicator +| ${heap_size_mult}= | ${2} +# Traffic profile +| ${traffic_profile}= | trex-astf-ethip4udp-${n_hosts}h-pps +| ${transaction_type}= | udp_pps +| ${disable_latency}= | ${True} + +*** Keywords *** +| Local Template +| | [Documentation] +| | ... | [Cfg] DUT runs NAT44 ${nat_mode} configuration.\ +| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads. +| | ... | [Ver] Measure NDR and PDR values using MLRsearch algorithm.\ +| | +| | ... | *Arguments:* +| | ... | - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). +| | ... | Type: integer, string +| | ... | - phy_cores - Number of physical cores. Type: integer +| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer +| | +| | [Arguments] | ${frame_size} | ${phy_cores} | ${rxq}=${None} +| | +| | Set Test Variable | \${frame_size} +| | ${pre_stats}= | Create List +| | ... | vpp-clear-stats | vpp-enable-packettrace | vpp-enable-elog +| | ... | vpp-clear-runtime +| | Set Test Variable | ${pre_stats} +| | ${post_stats}= | Create List +| | ... | vpp-show-stats | vpp-show-packettrace | vpp-show-elog +| | ... | vpp-show-runtime +| | Set Test Variable | ${post_stats} +| | +| | Given Set Max Rate And Jumbo +| | And Add worker threads to all DUTs | ${phy_cores} | ${rxq} +| | And Pre-initialize layer driver | ${nic_driver} +| | And Add NAT to all DUTs | nat_mode=${nat_mode} +| | ${max_translations_per_thread}= | Compute Max Translations Per Thread +| | ... | ${n_sessions} | ${thr_count_int} +| | And Add NAT max translations per thread to all DUTs +| | ... | ${max_translations_per_thread} +| | And Apply startup configuration on all VPP DUTs +| | When Initialize layer driver | ${nic_driver} +| | And Initialize layer interface +| | And Initialize IPv4 forwarding for NAT44 in circular topology +| | And Initialize NAT44 endpoint-dependent mode in circular topology +| | Then Find NDR and PDR intervals using optimized search + +*** Test Cases *** +| 64B-1c-ethip4udp-nat44ed-h65536-p63-s4128768-pps-ndrpdr +| | [Tags] | 64B | 1C +| | frame_size=${64} | phy_cores=${1} + +| 64B-2c-ethip4udp-nat44ed-h65536-p63-s4128768-pps-ndrpdr +| | [Tags] | 64B | 2C +| | frame_size=${64} | phy_cores=${2} + +| 64B-4c-ethip4udp-nat44ed-h65536-p63-s4128768-pps-ndrpdr +| | [Tags] | 64B | 4C +| | frame_size=${64} | phy_cores=${4} diff --git a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h65536-p63-s4128768-udir-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h65536-p63-s4128768-udir-ndrpdr.robot index dfc88b375b..b0c75cf672 100644 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h65536-p63-s4128768-udir-ndrpdr.robot +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h65536-p63-s4128768-udir-ndrpdr.robot @@ -15,8 +15,8 @@ | Resource | resources/libraries/robot/shared/default.robot | | Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR -| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | UDP_SYN -| ... | NAT44_ENDPOINT_DEPENDENT | BASE | DRV_VFIO_PCI +| ... | NIC_Intel-X710 | ETH | IP4FWD | FEATURE | NAT44 | UDP | UDP_UDIR +| ... | NAT44_ENDPOINT_DEPENDENT | SCALE | HOSTS_65536 | DRV_VFIO_PCI | ... | RXQ_SIZE_0 | TXQ_SIZE_0 | ... | ethip4udp-nat44ed-h65536-p63-s4128768-udir | @@ -83,13 +83,14 @@ | ${n_hosts}= | ${65536} | ${n_ports}= | ${63} | ${n_sessions}= | ${${n_hosts} * ${n_ports}} +# Main heap size multiplicator +| ${heap_size_mult}= | ${2} # Ramp-up settings | ${ramp_up_rate}= | ${500000} | ${ramp_up_duration}= | ${18.2} -# Traffic profile: +# Traffic profile | ${traffic_profile}= | trex-stl-ethip4udp-${n_hosts}u${n_ports}p-udir -# Main heap size multiplicator -| ${heap_size_mult}= | ${2} +| ${traffic_directions}= | ${1} *** Keywords *** | Local Template @@ -125,7 +126,6 @@ | | Then Send ramp-up traffic | | And Verify NAT44 UDP sessions number on DUT1 node | | And Find NDR and PDR intervals using optimized search -| | ... | traffic_directions=${1} *** Test Cases *** | 64B-1c-ethip4udp-nat44ed-h65536-p63-s4128768-udir-ndrpdr diff --git a/tests/vpp/perf/lb/2n1l-10ge2p1x710-ethip4-loadbalancer-l3dsr-ndrpdr.robot b/tests/vpp/perf/lb/2n1l-10ge2p1x710-ethip4-loadbalancer-l3dsr-ndrpdr.robot index f5e02f25f7..ec4570a44d 100644 --- a/tests/vpp/perf/lb/2n1l-10ge2p1x710-ethip4-loadbalancer-l3dsr-ndrpdr.robot +++ b/tests/vpp/perf/lb/2n1l-10ge2p1x710-ethip4-loadbalancer-l3dsr-ndrpdr.robot @@ -59,6 +59,7 @@ | ${overhead}= | ${0} # Traffic profile: | ${traffic_profile}= | trex-stl-2n-ethip4udp-lb +| ${traffic_directions}= | ${1} *** Keywords *** | Local Template @@ -85,7 +86,6 @@ | | And Initialize layer interface | | And Initialize loadbalancer l3dsr | | Then Find NDR and PDR intervals using optimized search -| | ... | traffic_directions=${1} *** Test Cases *** | 64B-1c-ethip4-loadbalancer-l3dsr-ndrpdr diff --git a/tests/vpp/perf/lb/2n1l-10ge2p1x710-ethip4-loadbalancer-maglev-ndrpdr.robot b/tests/vpp/perf/lb/2n1l-10ge2p1x710-ethip4-loadbalancer-maglev-ndrpdr.robot index 66e047d691..dff2536f20 100644 --- a/tests/vpp/perf/lb/2n1l-10ge2p1x710-ethip4-loadbalancer-maglev-ndrpdr.robot +++ b/tests/vpp/perf/lb/2n1l-10ge2p1x710-ethip4-loadbalancer-maglev-ndrpdr.robot @@ -59,6 +59,7 @@ | ${overhead}= | ${0} # Traffic profile: | ${traffic_profile}= | trex-stl-2n-ethip4udp-lb +| ${traffic_directions}= | ${1} *** Keywords *** | Local Template @@ -85,7 +86,6 @@ | | And Initialize layer interface | | And Initialize loadbalancer maglev | | Then Find NDR and PDR intervals using optimized search -| | ... | traffic_directions=${1} *** Test Cases *** | 64B-1c-ethip4-loadbalancer-maglev-ndrpdr |