From 3ccdfe158ce748d1892b66d755643fa88fe5920e Mon Sep 17 00:00:00 2001 From: Vratko Polak <vrpolak@cisco.com> Date: Wed, 28 Oct 2020 12:50:10 +0100 Subject: 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> --- .../ip4/10ge2p1x710-dot1q-ip4base-ndrpdr.robot | 2 +- ...x710-ethip4-ip4base-copwhtlistbase-ndrpdr.robot | 2 +- ...2p1x710-ethip4-ip4base-iacldstbase-ndrpdr.robot | 2 +- ...710-ethip4-ip4base-ipolicemarkbase-ndrpdr.robot | 8 +- .../ip4/10ge2p1x710-ethip4-ip4base-ndrpdr.robot | 2 +- .../10ge2p1x710-ethip4-ip4scale200k-ndrpdr.robot | 2 +- .../10ge2p1x710-ethip4-ip4scale20k-ndrpdr.robot | 2 +- .../ip4/10ge2p1x710-ethip4-ip4scale2m-ndrpdr.robot | 2 +- ...thip4udp-ip4base-iacl10sf-100flows-ndrpdr.robot | 2 +- ...hip4udp-ip4base-iacl10sf-100kflows-ndrpdr.robot | 2 +- ...thip4udp-ip4base-iacl10sf-10kflows-ndrpdr.robot | 2 +- ...thip4udp-ip4base-iacl10sl-100flows-ndrpdr.robot | 2 +- ...hip4udp-ip4base-iacl10sl-100kflows-ndrpdr.robot | 2 +- ...thip4udp-ip4base-iacl10sl-10kflows-ndrpdr.robot | 2 +- ...ethip4udp-ip4base-iacl1sf-100flows-ndrpdr.robot | 2 +- ...thip4udp-ip4base-iacl1sf-100kflows-ndrpdr.robot | 2 +- ...ethip4udp-ip4base-iacl1sf-10kflows-ndrpdr.robot | 2 +- ...ethip4udp-ip4base-iacl1sl-100flows-ndrpdr.robot | 2 +- ...thip4udp-ip4base-iacl1sl-100kflows-ndrpdr.robot | 2 +- ...ethip4udp-ip4base-iacl1sl-10kflows-ndrpdr.robot | 2 +- ...thip4udp-ip4base-iacl50sf-100flows-ndrpdr.robot | 2 +- ...hip4udp-ip4base-iacl50sf-100kflows-ndrpdr.robot | 2 +- ...thip4udp-ip4base-iacl50sf-10kflows-ndrpdr.robot | 2 +- ...thip4udp-ip4base-iacl50sl-100flows-ndrpdr.robot | 2 +- ...hip4udp-ip4base-iacl50sl-100kflows-ndrpdr.robot | 2 +- ...thip4udp-ip4base-iacl50sl-10kflows-ndrpdr.robot | 2 +- ...thip4udp-ip4base-oacl10sf-100flows-ndrpdr.robot | 2 +- ...hip4udp-ip4base-oacl10sf-100kflows-ndrpdr.robot | 2 +- ...thip4udp-ip4base-oacl10sf-10kflows-ndrpdr.robot | 2 +- ...thip4udp-ip4base-oacl10sl-100flows-ndrpdr.robot | 2 +- ...hip4udp-ip4base-oacl10sl-100kflows-ndrpdr.robot | 2 +- ...thip4udp-ip4base-oacl10sl-10kflows-ndrpdr.robot | 2 +- ...ethip4udp-ip4base-oacl1sf-100flows-ndrpdr.robot | 2 +- ...thip4udp-ip4base-oacl1sf-100kflows-ndrpdr.robot | 2 +- ...ethip4udp-ip4base-oacl1sf-10kflows-ndrpdr.robot | 2 +- ...ethip4udp-ip4base-oacl1sl-100flows-ndrpdr.robot | 2 +- ...thip4udp-ip4base-oacl1sl-100kflows-ndrpdr.robot | 2 +- ...ethip4udp-ip4base-oacl1sl-10kflows-ndrpdr.robot | 2 +- ...thip4udp-ip4base-oacl50sf-100flows-ndrpdr.robot | 2 +- ...hip4udp-ip4base-oacl50sf-100kflows-ndrpdr.robot | 2 +- ...thip4udp-ip4base-oacl50sf-10kflows-ndrpdr.robot | 2 +- ...thip4udp-ip4base-oacl50sl-100flows-ndrpdr.robot | 2 +- ...hip4udp-ip4base-oacl50sl-100kflows-ndrpdr.robot | 2 +- ...thip4udp-ip4base-oacl50sl-10kflows-ndrpdr.robot | 2 +- .../2n1l-10ge2p1x710-dot1q-ip4base-ndrpdr.robot | 2 +- ...x710-ethip4-ip4base-copwhtlistbase-ndrpdr.robot | 2 +- ...2p1x710-ethip4-ip4base-iacldstbase-ndrpdr.robot | 2 +- ...710-ethip4-ip4base-ipolicemarkbase-ndrpdr.robot | 8 +- .../2n1l-10ge2p1x710-ethip4-ip4base-ndrpdr.robot | 2 +- ...1l-10ge2p1x710-ethip4-ip4scale200k-ndrpdr.robot | 2 +- ...0ge2p1x710-ethip4-ip4scale200k-rnd-ndrpdr.robot | 2 +- ...n1l-10ge2p1x710-ethip4-ip4scale20k-ndrpdr.robot | 2 +- ...10ge2p1x710-ethip4-ip4scale20k-rnd-ndrpdr.robot | 2 +- ...2n1l-10ge2p1x710-ethip4-ip4scale2m-ndrpdr.robot | 2 +- ...-10ge2p1x710-ethip4-ip4scale2m-rnd-ndrpdr.robot | 2 +- ...p4tcp-ip4base-h1024-p63-s64512-cps-ndrpdr.robot | 117 ++++++++++++++++ ...ethip4tcp-ip4base-h1024-p63-s64512-ndrpdr.robot | 150 --------------------- ...p4tcp-ip4base-h1024-p63-s64512-pps-ndrpdr.robot | 116 ++++++++++++++++ ...cp-ip4base-h16384-p63-s1032192-cps-ndrpdr.robot | 117 ++++++++++++++++ ...ip4tcp-ip4base-h16384-p63-s1032192-ndrpdr.robot | 150 --------------------- ...cp-ip4base-h16384-p63-s1032192-pps-ndrpdr.robot | 116 ++++++++++++++++ ...-ip4base-h262144-p63-s16515072-cps-ndrpdr.robot | 117 ++++++++++++++++ ...4tcp-ip4base-h262144-p63-s16515072-ndrpdr.robot | 150 --------------------- ...-ip4base-h262144-p63-s16515072-pps-ndrpdr.robot | 116 ++++++++++++++++ ...4tcp-ip4base-h4096-p63-s258048-cps-ndrpdr.robot | 117 ++++++++++++++++ ...thip4tcp-ip4base-h4096-p63-s258048-ndrpdr.robot | 150 --------------------- ...4tcp-ip4base-h4096-p63-s258048-pps-ndrpdr.robot | 116 ++++++++++++++++ ...cp-ip4base-h65536-p63-s4128768-cps-ndrpdr.robot | 117 ++++++++++++++++ ...ip4tcp-ip4base-h65536-p63-s4128768-ndrpdr.robot | 150 --------------------- ...cp-ip4base-h65536-p63-s4128768-pps-ndrpdr.robot | 116 ++++++++++++++++ ...p4tcp-nat44ed-h1024-p63-s64512-cps-ndrpdr.robot | 67 +++------ ...p4tcp-nat44ed-h1024-p63-s64512-pps-ndrpdr.robot | 140 +++++++++++++++++++ ...cp-nat44ed-h16384-p63-s1032192-cps-ndrpdr.robot | 69 +++------- ...cp-nat44ed-h16384-p63-s1032192-pps-ndrpdr.robot | 140 +++++++++++++++++++ ...-nat44ed-h262144-p63-s16515072-cps-ndrpdr.robot | 71 +++------- ...-nat44ed-h262144-p63-s16515072-pps-ndrpdr.robot | 142 +++++++++++++++++++ ...4tcp-nat44ed-h4096-p63-s258048-cps-ndrpdr.robot | 67 +++------ ...4tcp-nat44ed-h4096-p63-s258048-pps-ndrpdr.robot | 140 +++++++++++++++++++ ...cp-nat44ed-h65536-p63-s4128768-cps-ndrpdr.robot | 71 +++------- ...cp-nat44ed-h65536-p63-s4128768-pps-ndrpdr.robot | 142 +++++++++++++++++++ ...p4udp-ip4base-h1024-p63-s64512-cps-ndrpdr.robot | 115 ++++++++++++++++ ...ethip4udp-ip4base-h1024-p63-s64512-ndrpdr.robot | 150 --------------------- ...p4udp-ip4base-h1024-p63-s64512-pps-ndrpdr.robot | 116 ++++++++++++++++ ...dp-ip4base-h16384-p63-s1032192-cps-ndrpdr.robot | 115 ++++++++++++++++ ...ip4udp-ip4base-h16384-p63-s1032192-ndrpdr.robot | 150 --------------------- ...dp-ip4base-h16384-p63-s1032192-pps-ndrpdr.robot | 116 ++++++++++++++++ ...-ip4base-h262144-p63-s16515072-cps-ndrpdr.robot | 115 ++++++++++++++++ ...4udp-ip4base-h262144-p63-s16515072-ndrpdr.robot | 150 --------------------- ...-ip4base-h262144-p63-s16515072-pps-ndrpdr.robot | 116 ++++++++++++++++ ...4udp-ip4base-h4096-p63-s258048-cps-ndrpdr.robot | 115 ++++++++++++++++ ...thip4udp-ip4base-h4096-p63-s258048-ndrpdr.robot | 150 --------------------- ...4udp-ip4base-h4096-p63-s258048-pps-ndrpdr.robot | 116 ++++++++++++++++ ...dp-ip4base-h65536-p63-s4128768-cps-ndrpdr.robot | 115 ++++++++++++++++ ...ip4udp-ip4base-h65536-p63-s4128768-ndrpdr.robot | 150 --------------------- ...dp-ip4base-h65536-p63-s4128768-pps-ndrpdr.robot | 116 ++++++++++++++++ ...ethip4udp-ip4base-iacl1sf-10kflows-ndrpdr.robot | 2 +- ...ethip4udp-ip4base-iacl1sl-10kflows-ndrpdr.robot | 2 +- ...thip4udp-ip4base-iacl50sf-10kflows-ndrpdr.robot | 2 +- ...thip4udp-ip4base-iacl50sl-10kflows-ndrpdr.robot | 2 +- ...thip4udp-ip4base-oacl50sf-10kflows-ndrpdr.robot | 2 +- ...thip4udp-ip4base-oacl50sl-10kflows-ndrpdr.robot | 2 +- ...p1x710-ethip4udp-nat44det-h1-p1-s1-ndrpdr.robot | 2 +- ...thip4udp-nat44det-h1024-p63-s64512-ndrpdr.robot | 4 +- ...p4udp-nat44det-h16384-p63-s1032192-ndrpdr.robot | 2 +- ...udp-nat44det-h262144-p63-s16515072-ndrpdr.robot | 4 +- ...hip4udp-nat44det-h4096-p63-s258048-ndrpdr.robot | 4 +- ...p4udp-nat44det-h65536-p63-s4128758-ndrpdr.robot | 4 +- ...p4udp-nat44ed-h1024-p63-s64512-cps-ndrpdr.robot | 59 ++------ ...p4udp-nat44ed-h1024-p63-s64512-pps-ndrpdr.robot | 140 +++++++++++++++++++ ...4udp-nat44ed-h1024-p63-s64512-udir-ndrpdr.robot | 8 +- ...dp-nat44ed-h16384-p63-s1032192-cps-ndrpdr.robot | 59 ++------ ...dp-nat44ed-h16384-p63-s1032192-pps-ndrpdr.robot | 140 +++++++++++++++++++ ...p-nat44ed-h16384-p63-s1032192-udir-ndrpdr.robot | 8 +- ...-nat44ed-h262144-p63-s16515072-cps-ndrpdr.robot | 61 ++------- ...-nat44ed-h262144-p63-s16515072-pps-ndrpdr.robot | 142 +++++++++++++++++++ ...nat44ed-h262144-p63-s16515072-udir-ndrpdr.robot | 12 +- ...4udp-nat44ed-h4096-p63-s258048-cps-ndrpdr.robot | 59 ++------ ...4udp-nat44ed-h4096-p63-s258048-pps-ndrpdr.robot | 140 +++++++++++++++++++ ...udp-nat44ed-h4096-p63-s258048-udir-ndrpdr.robot | 8 +- ...dp-nat44ed-h65536-p63-s4128768-cps-ndrpdr.robot | 61 ++------- ...dp-nat44ed-h65536-p63-s4128768-pps-ndrpdr.robot | 142 +++++++++++++++++++ ...p-nat44ed-h65536-p63-s4128768-udir-ndrpdr.robot | 12 +- ...e2p1x710-ethip4-loadbalancer-l3dsr-ndrpdr.robot | 2 +- ...2p1x710-ethip4-loadbalancer-maglev-ndrpdr.robot | 2 +- 124 files changed, 3965 insertions(+), 2113 deletions(-) create mode 100644 tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h1024-p63-s64512-cps-ndrpdr.robot delete mode 100644 tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h1024-p63-s64512-ndrpdr.robot create mode 100644 tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h1024-p63-s64512-pps-ndrpdr.robot create mode 100644 tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h16384-p63-s1032192-cps-ndrpdr.robot delete mode 100644 tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h16384-p63-s1032192-ndrpdr.robot create mode 100644 tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h16384-p63-s1032192-pps-ndrpdr.robot create mode 100644 tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h262144-p63-s16515072-cps-ndrpdr.robot delete mode 100644 tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h262144-p63-s16515072-ndrpdr.robot create mode 100644 tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h262144-p63-s16515072-pps-ndrpdr.robot create mode 100644 tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h4096-p63-s258048-cps-ndrpdr.robot delete mode 100644 tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h4096-p63-s258048-ndrpdr.robot create mode 100644 tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h4096-p63-s258048-pps-ndrpdr.robot create mode 100644 tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h65536-p63-s4128768-cps-ndrpdr.robot delete mode 100644 tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h65536-p63-s4128768-ndrpdr.robot create mode 100644 tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h65536-p63-s4128768-pps-ndrpdr.robot create mode 100644 tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44ed-h1024-p63-s64512-pps-ndrpdr.robot create mode 100644 tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44ed-h16384-p63-s1032192-pps-ndrpdr.robot create mode 100644 tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44ed-h262144-p63-s16515072-pps-ndrpdr.robot create mode 100644 tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44ed-h4096-p63-s258048-pps-ndrpdr.robot create mode 100644 tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-nat44ed-h65536-p63-s4128768-pps-ndrpdr.robot create mode 100644 tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h1024-p63-s64512-cps-ndrpdr.robot delete mode 100644 tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h1024-p63-s64512-ndrpdr.robot create mode 100644 tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h1024-p63-s64512-pps-ndrpdr.robot create mode 100644 tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h16384-p63-s1032192-cps-ndrpdr.robot delete mode 100644 tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h16384-p63-s1032192-ndrpdr.robot create mode 100644 tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h16384-p63-s1032192-pps-ndrpdr.robot create mode 100644 tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h262144-p63-s16515072-cps-ndrpdr.robot delete mode 100644 tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h262144-p63-s16515072-ndrpdr.robot create mode 100644 tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h262144-p63-s16515072-pps-ndrpdr.robot create mode 100644 tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h4096-p63-s258048-cps-ndrpdr.robot delete mode 100644 tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h4096-p63-s258048-ndrpdr.robot create mode 100644 tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h4096-p63-s258048-pps-ndrpdr.robot create mode 100644 tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h65536-p63-s4128768-cps-ndrpdr.robot delete mode 100644 tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h65536-p63-s4128768-ndrpdr.robot create mode 100644 tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h65536-p63-s4128768-pps-ndrpdr.robot create mode 100644 tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h1024-p63-s64512-pps-ndrpdr.robot create mode 100644 tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h16384-p63-s1032192-pps-ndrpdr.robot create mode 100644 tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h262144-p63-s16515072-pps-ndrpdr.robot create mode 100644 tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h4096-p63-s258048-pps-ndrpdr.robot create mode 100644 tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-nat44ed-h65536-p63-s4128768-pps-ndrpdr.robot (limited to 'tests/vpp/perf') 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-cps-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h1024-p63-s64512-cps-ndrpdr.robot new file mode 100644 index 0000000000..984454c948 --- /dev/null +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h1024-p63-s64512-cps-ndrpdr.robot @@ -0,0 +1,117 @@ +# 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_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 +| Test Setup | Setup test | performance +| Test Teardown | Tear down test | performance +| +| Test Template | Local Template +| +| 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\ +| ... | 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. +| ... | *[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}= | ${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 +| | [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-cps-ndrpdr +| | [Tags] | 64B | 1C +| | frame_size=${64} | phy_cores=${1} + +| 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-cps-ndrpdr +| | [Tags] | 64B | 4C +| | frame_size=${64} | phy_cores=${4} 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-ndrpdr.robot deleted file mode 100644 index e402382c20..0000000000 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h1024-p63-s64512-ndrpdr.robot +++ /dev/null @@ -1,150 +0,0 @@ -# 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 | BASE | IP4BASE | DRV_VFIO_PCI | TCP_SYN -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip4tcp-ip4base-h1024-p63-s64512 -| -| 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 | *RFC2544: Pkt throughput IPv4 routing test cases* -| -| ... | *[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\ -| ... | contain L7 flows (${cps} bi-directional UDP 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. -| ... | *[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} -# Traffic profile: -| ${traffic_profile}= | trex-astf-ethip4tcp-1024h -| ${cps}= | ${64512} -# Trial data overwrite -| ${trial_duration}= | ${1.1} -| ${trial_multiplicity}= | ${1} - -*** 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} -| | Set Test Variable | \${max_rate} | ${cps} -| | ${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 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 | latency=${False} - -*** Test Cases *** -| 64B-1c-ethip4tcp-ip4base-h1024-p63-s64512-ndrpdr -| | [Tags] | 64B | 1C -| | frame_size=${64} | phy_cores=${1} - -| 64B-2c-ethip4tcp-ip4base-h1024-p63-s64512-ndrpdr -| | [Tags] | 64B | 2C -| | frame_size=${64} | phy_cores=${2} - -| 64B-4c-ethip4tcp-ip4base-h1024-p63-s64512-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-cps-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h16384-p63-s1032192-cps-ndrpdr.robot new file mode 100644 index 0000000000..93adf5bfef --- /dev/null +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h16384-p63-s1032192-cps-ndrpdr.robot @@ -0,0 +1,117 @@ +# 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_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 +| Test Setup | Setup test | performance +| Test Teardown | Tear down test | performance +| +| Test Template | Local Template +| +| Documentation | *CPS on empty 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\ +| ... | 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. +| ... | *[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}= | ${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 +| | [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-cps-ndrpdr +| | [Tags] | 64B | 1C +| | frame_size=${64} | phy_cores=${1} + +| 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-cps-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-ndrpdr.robot deleted file mode 100644 index 45ba61ef42..0000000000 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h16384-p63-s1032192-ndrpdr.robot +++ /dev/null @@ -1,150 +0,0 @@ -# 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 | BASE | IP4BASE | DRV_VFIO_PCI | TCP_SYN -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip4tcp-ip4base-h16384-p63-s1032192 -| -| 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 | *RFC2544: Pkt throughput IPv4 routing test cases* -| -| ... | *[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\ -| ... | contain L7 flows (${cps} bi-directional TCP flows) with all packets\ -| ... | containing Ethernet header, IPv4 header with 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} -# Traffic profile: -| ${traffic_profile}= | trex-astf-ethip4tcp-16384h -| ${cps}= | ${1032192} -# Trial data overwrite -| ${trial_duration}= | ${1.1} -| ${trial_multiplicity}= | ${1} - -*** 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} -| | Set Test Variable | \${max_rate} | ${cps} -| | ${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 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 | latency=${False} - -*** Test Cases *** -| 64B-1c-ethip4tcp-ip4base-h16384-p63-s1032192-ndrpdr -| | [Tags] | 64B | 1C -| | frame_size=${64} | phy_cores=${1} - -| 64B-2c-ethip4tcp-ip4base-h16384-p63-s1032192-ndrpdr -| | [Tags] | 64B | 2C -| | frame_size=${64} | phy_cores=${2} - -| 64B-4c-ethip4tcp-ip4base-h16384-p63-s1032192-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-cps-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h262144-p63-s16515072-cps-ndrpdr.robot new file mode 100644 index 0000000000..5892edea9d --- /dev/null +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h262144-p63-s16515072-cps-ndrpdr.robot @@ -0,0 +1,117 @@ +# 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_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 +| Test Setup | Setup test | performance +| Test Teardown | Tear down test | performance +| +| Test Template | Local Template +| +| Documentation | *CPS on empty 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\ +| ... | 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. +| ... | *[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}= | ${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 +| | [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-cps-ndrpdr +| | [Tags] | 64B | 1C +| | frame_size=${64} | phy_cores=${1} + +| 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-cps-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-ndrpdr.robot deleted file mode 100644 index b3d1f84c8c..0000000000 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h262144-p63-s16515072-ndrpdr.robot +++ /dev/null @@ -1,150 +0,0 @@ -# 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 | BASE | IP4BASE | DRV_VFIO_PCI | TCP_SYN -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip4tcp-ip4base-h262144-p63-s16515072 -| -| 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 | *RFC2544: Pkt throughput IPv4 routing test cases* -| -| ... | *[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\ -| ... | contain L7 flows (${cps} bi-directional TCP flows) with all packets\ -| ... | containing Ethernet header, IPv4 header with 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} -# Traffic profile: -| ${traffic_profile}= | trex-astf-ethip4tcp-262144h -| ${cps}= | ${16515072} -# Trial data overwrite -| ${trial_duration}= | ${1.1} -| ${trial_multiplicity}= | ${1} - -*** 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} -| | Set Test Variable | \${max_rate} | ${cps} -| | ${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 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 | latency=${False} - -*** Test Cases *** -| 64B-1c-ethip4tcp-ip4base-h262144-p63-s16515072-ndrpdr -| | [Tags] | 64B | 1C -| | frame_size=${64} | phy_cores=${1} - -| 64B-2c-ethip4tcp-ip4base-h262144-p63-s16515072-ndrpdr -| | [Tags] | 64B | 2C -| | frame_size=${64} | phy_cores=${2} - -| 64B-4c-ethip4tcp-ip4base-h262144-p63-s16515072-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-cps-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h4096-p63-s258048-cps-ndrpdr.robot new file mode 100644 index 0000000000..96c5bc062f --- /dev/null +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h4096-p63-s258048-cps-ndrpdr.robot @@ -0,0 +1,117 @@ +# 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_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 +| Test Setup | Setup test | performance +| Test Teardown | Tear down test | performance +| +| Test Template | Local Template +| +| Documentation | *CPS on empty 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\ +| ... | 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. +| ... | *[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}= | ${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 +| | [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-cps-ndrpdr +| | [Tags] | 64B | 1C +| | frame_size=${64} | phy_cores=${1} + +| 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-cps-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-ndrpdr.robot deleted file mode 100644 index 2229f90c80..0000000000 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h4096-p63-s258048-ndrpdr.robot +++ /dev/null @@ -1,150 +0,0 @@ -# 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 | BASE | IP4BASE | DRV_VFIO_PCI | TCP_SYN -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip4tcp-ip4base-h4096-p63-s258048 -| -| 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 | *RFC2544: Pkt throughput IPv4 routing test cases* -| -| ... | *[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\ -| ... | contain L7 flows (${cps} bi-directional UDP 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. -| ... | *[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} -# Traffic profile: -| ${traffic_profile}= | trex-astf-ethip4tcp-4096h -| ${cps}= | ${258048} -# Trial data overwrite -| ${trial_duration}= | ${1.1} -| ${trial_multiplicity}= | ${1} - -*** 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} -| | Set Test Variable | \${max_rate} | ${cps} -| | ${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 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 | latency=${False} - -*** Test Cases *** -| 64B-1c-ethip4tcp-ip4base-h4096-p63-s258048-ndrpdr -| | [Tags] | 64B | 1C -| | frame_size=${64} | phy_cores=${1} - -| 64B-2c-ethip4tcp-ip4base-h4096-p63-s258048-ndrpdr -| | [Tags] | 64B | 2C -| | frame_size=${64} | phy_cores=${2} - -| 64B-4c-ethip4tcp-ip4base-h4096-p63-s258048-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-cps-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h65536-p63-s4128768-cps-ndrpdr.robot new file mode 100644 index 0000000000..ca3d2cfc41 --- /dev/null +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h65536-p63-s4128768-cps-ndrpdr.robot @@ -0,0 +1,117 @@ +# 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_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 +| Test Setup | Setup test | performance +| Test Teardown | Tear down test | performance +| +| Test Template | Local Template +| +| Documentation | *CPS on empty 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\ +| ... | 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. +| ... | *[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}= | ${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 +| | [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-cps-ndrpdr +| | [Tags] | 64B | 1C +| | frame_size=${64} | phy_cores=${1} + +| 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-cps-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-ndrpdr.robot deleted file mode 100644 index 1a51c68365..0000000000 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4tcp-ip4base-h65536-p63-s4128768-ndrpdr.robot +++ /dev/null @@ -1,150 +0,0 @@ -# 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 | BASE | IP4BASE | DRV_VFIO_PCI | TCP_SYN -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip4tcp-ip4base-h65536-p63-s4128768 -| -| 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 | *RFC2544: Pkt throughput IPv4 routing test cases* -| -| ... | *[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\ -| ... | contain L7 flows (${cps} bi-directional UDP 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. -| ... | *[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} -# Traffic profile: -| ${traffic_profile}= | trex-astf-ethip4tcp-65536h -| ${cps}= | ${4128768} -# Trial data overwrite -| ${trial_duration}= | ${1.1} -| ${trial_multiplicity}= | ${1} - -*** 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} -| | Set Test Variable | \${max_rate} | ${cps} -| | ${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 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 | latency=${False} - -*** Test Cases *** -| 64B-1c-ethip4tcp-ip4base-h65536-p63-s4128768-ndrpdr -| | [Tags] | 64B | 1C -| | frame_size=${64} | phy_cores=${1} - -| 64B-2c-ethip4tcp-ip4base-h65536-p63-s4128768-ndrpdr -| | [Tags] | 64B | 2C -| | frame_size=${64} | phy_cores=${2} - -| 64B-4c-ethip4tcp-ip4base-h65536-p63-s4128768-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-cps-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h1024-p63-s64512-cps-ndrpdr.robot new file mode 100644 index 0000000000..77d3ee210c --- /dev/null +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h1024-p63-s64512-cps-ndrpdr.robot @@ -0,0 +1,115 @@ +# 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 | 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 +| Test Setup | Setup test | performance +| Test Teardown | Tear down test | performance +| +| Test Template | Local Template +| +| Documentation | *CPS on empty 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\ +| ... | contain L7 flows (${cps} bi-directional UDP flows) with all packets\ +| ... | containing Ethernet header, IPv4 header with 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}} +# Traffic profile +| ${traffic_profile}= | trex-astf-ethip4udp-${n_hosts}h +| ${transaction_type}= | udp_cps +| ${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-cps-ndrpdr +| | [Tags] | 64B | 1C +| | frame_size=${64} | phy_cores=${1} + +| 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-cps-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-ndrpdr.robot deleted file mode 100644 index c107d3e8f3..0000000000 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h1024-p63-s64512-ndrpdr.robot +++ /dev/null @@ -1,150 +0,0 @@ -# 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 | BASE | IP4BASE | DRV_VFIO_PCI | UDP_SYN -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip4udp-ip4base-h1024-p63-s64512 -| -| 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 | *RFC2544: Pkt throughput IPv4 routing test cases* -| -| ... | *[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\ -| ... | contain L7 flows (${cps} bi-directional UDP flows) with all packets\ -| ... | containing Ethernet header, IPv4 header with 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} -# Traffic profile: -| ${traffic_profile}= | trex-astf-ethip4udp-1024h -| ${cps}= | ${64512} -# Trial data overwrite -| ${trial_duration}= | ${1.1} -| ${trial_multiplicity}= | ${1} - -*** 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} -| | Set Test Variable | \${max_rate} | ${cps} -| | ${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 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 | latency=${False} - -*** Test Cases *** -| 64B-1c-ethip4udp-ip4base-h1024-p63-s64512-ndrpdr -| | [Tags] | 64B | 1C -| | frame_size=${64} | phy_cores=${1} - -| 64B-2c-ethip4udp-ip4base-h1024-p63-s64512-ndrpdr -| | [Tags] | 64B | 2C -| | frame_size=${64} | phy_cores=${2} - -| 64B-4c-ethip4udp-ip4base-h1024-p63-s64512-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-cps-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h16384-p63-s1032192-cps-ndrpdr.robot new file mode 100644 index 0000000000..74f34b64f7 --- /dev/null +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h16384-p63-s1032192-cps-ndrpdr.robot @@ -0,0 +1,115 @@ +# 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 | 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 +| Test Setup | Setup test | performance +| Test Teardown | Tear down test | performance +| +| Test Template | Local Template +| +| Documentation | *CPS on empty 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 /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\ +| ... | contain L7 flows (${cps} bi-directional UDP flows) with all packets\ +| ... | containing Ethernet header, IPv4 header with 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}= | ${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 +| | [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-cps-ndrpdr +| | [Tags] | 64B | 1C +| | frame_size=${64} | phy_cores=${1} + +| 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-cps-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-ndrpdr.robot deleted file mode 100644 index eec0cfcef6..0000000000 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h16384-p63-s1032192-ndrpdr.robot +++ /dev/null @@ -1,150 +0,0 @@ -# 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 | BASE | IP4BASE | DRV_VFIO_PCI | UDP_SYN -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip4udp-ip4base-h16384-p63-s1032192 -| -| 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 | *RFC2544: Pkt throughput IPv4 routing test cases* -| -| ... | *[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 /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\ -| ... | contain L7 flows (${cps} bi-directional UDP flows) with all packets\ -| ... | containing Ethernet header, IPv4 header with 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} -# Traffic profile: -| ${traffic_profile}= | trex-astf-ethip4udp-16384h -| ${cps}= | ${1032192} -# Trial data overwrite -| ${trial_duration}= | ${1.1} -| ${trial_multiplicity}= | ${1} - -*** 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} -| | Set Test Variable | \${max_rate} | ${cps} -| | ${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 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 | latency=${False} - -*** Test Cases *** -| 64B-1c-ethip4udp-ip4base-h16384-p63-s1032192-ndrpdr -| | [Tags] | 64B | 1C -| | frame_size=${64} | phy_cores=${1} - -| 64B-2c-ethip4udp-ip4base-h16384-p63-s1032192-ndrpdr -| | [Tags] | 64B | 2C -| | frame_size=${64} | phy_cores=${2} - -| 64B-4c-ethip4udp-ip4base-h16384-p63-s1032192-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-cps-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h262144-p63-s16515072-cps-ndrpdr.robot new file mode 100644 index 0000000000..44b7740f5c --- /dev/null +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h262144-p63-s16515072-cps-ndrpdr.robot @@ -0,0 +1,115 @@ +# 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 | 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 +| Test Setup | Setup test | performance +| Test Teardown | Tear down test | performance +| +| Test Template | Local Template +| +| Documentation | *CPS on empty 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 /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\ +| ... | contain L7 flows (${cps} bi-directional UDP flows) with all packets\ +| ... | containing Ethernet header, IPv4 header with 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}= | ${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 +| | [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-cps-ndrpdr +| | [Tags] | 64B | 1C +| | frame_size=${64} | phy_cores=${1} + +| 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-cps-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-ndrpdr.robot deleted file mode 100644 index 64c0013955..0000000000 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h262144-p63-s16515072-ndrpdr.robot +++ /dev/null @@ -1,150 +0,0 @@ -# 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 | BASE | IP4BASE | DRV_VFIO_PCI | UDP_SYN -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip4udp-ip4base-h262144-p63-s16515072 -| -| 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 | *RFC2544: Pkt throughput IPv4 routing test cases* -| -| ... | *[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 /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\ -| ... | contain L7 flows (${cps} bi-directional UDP flows) with all packets\ -| ... | containing Ethernet header, IPv4 header with 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} -# Traffic profile: -| ${traffic_profile}= | trex-astf-ethip4udp-262144h -| ${cps}= | ${16515072} -# Trial data overwrite -| ${trial_duration}= | ${1.1} -| ${trial_multiplicity}= | ${1} - -*** 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} -| | Set Test Variable | \${max_rate} | ${cps} -| | ${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 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 | latency=${False} - -*** Test Cases *** -| 64B-1c-ethip4udp-ip4base-h262144-p63-s16515072-ndrpdr -| | [Tags] | 64B | 1C -| | frame_size=${64} | phy_cores=${1} - -| 64B-2c-ethip4udp-ip4base-h262144-p63-s16515072-ndrpdr -| | [Tags] | 64B | 2C -| | frame_size=${64} | phy_cores=${2} - -| 64B-4c-ethip4udp-ip4base-h262144-p63-s16515072-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-cps-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h4096-p63-s258048-cps-ndrpdr.robot new file mode 100644 index 0000000000..4226656f14 --- /dev/null +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h4096-p63-s258048-cps-ndrpdr.robot @@ -0,0 +1,115 @@ +# 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 | 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 +| Test Setup | Setup test | performance +| Test Teardown | Tear down test | performance +| +| Test Template | Local Template +| +| Documentation | *CPS on empty 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 /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\ +| ... | contain L7 flows (${cps} bi-directional UDP flows) with all packets\ +| ... | containing Ethernet header, IPv4 header with 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}= | ${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 +| | [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-cps-ndrpdr +| | [Tags] | 64B | 1C +| | frame_size=${64} | phy_cores=${1} + +| 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-cps-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-ndrpdr.robot deleted file mode 100644 index 76bf239508..0000000000 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h4096-p63-s258048-ndrpdr.robot +++ /dev/null @@ -1,150 +0,0 @@ -# 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 | BASE | IP4BASE | DRV_VFIO_PCI | UDP_SYN -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip4udp-ip4base-h4096-p63-s258048 -| -| 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 | *RFC2544: Pkt throughput IPv4 routing test cases* -| -| ... | *[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 /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\ -| ... | contain L7 flows (${cps} bi-directional UDP flows) with all packets\ -| ... | containing Ethernet header, IPv4 header with 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} -# Traffic profile: -| ${traffic_profile}= | trex-astf-ethip4udp-4096h -| ${cps}= | ${258048} -# Trial data overwrite -| ${trial_duration}= | ${1.1} -| ${trial_multiplicity}= | ${1} - -*** 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} -| | Set Test Variable | \${max_rate} | ${cps} -| | ${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 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 | latency=${False} - -*** Test Cases *** -| 64B-1c-ethip4udp-ip4base-h4096-p63-s258048-ndrpdr -| | [Tags] | 64B | 1C -| | frame_size=${64} | phy_cores=${1} - -| 64B-2c-ethip4udp-ip4base-h4096-p63-s258048-ndrpdr -| | [Tags] | 64B | 2C -| | frame_size=${64} | phy_cores=${2} - -| 64B-4c-ethip4udp-ip4base-h4096-p63-s258048-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-cps-ndrpdr.robot b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h65536-p63-s4128768-cps-ndrpdr.robot new file mode 100644 index 0000000000..301f7643b1 --- /dev/null +++ b/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h65536-p63-s4128768-cps-ndrpdr.robot @@ -0,0 +1,115 @@ +# 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 | 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 +| Test Setup | Setup test | performance +| Test Teardown | Tear down test | performance +| +| Test Template | Local Template +| +| Documentation | *CPS on empty 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 /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\ +| ... | contain L7 flows (${cps} bi-directional UDP flows) with all packets\ +| ... | containing Ethernet header, IPv4 header with 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}= | ${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 +| | [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-cps-ndrpdr +| | [Tags] | 64B | 1C +| | frame_size=${64} | phy_cores=${1} + +| 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-cps-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-ndrpdr.robot deleted file mode 100644 index 1807b880f4..0000000000 --- a/tests/vpp/perf/ip4/2n1l-10ge2p1x710-ethip4udp-ip4base-h65536-p63-s4128768-ndrpdr.robot +++ /dev/null @@ -1,150 +0,0 @@ -# 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 | BASE | IP4BASE | DRV_VFIO_PCI | UDP_SYN -| ... | RXQ_SIZE_0 | TXQ_SIZE_0 -| ... | ethip4udp-ip4base-h65536-p63-s4128768 -| -| 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 | *RFC2544: Pkt throughput IPv4 routing test cases* -| -| ... | *[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 /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\ -| ... | contain L7 flows (${cps} bi-directional UDP flows) with all packets\ -| ... | containing Ethernet header, IPv4 header with 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} -# Traffic profile: -| ${traffic_profile}= | trex-astf-ethip4udp-65536h -| ${cps}= | ${4128768} -# Trial data overwrite -| ${trial_duration}= | ${1.1} -| ${trial_multiplicity}= | ${1} - -*** 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} -| | Set Test Variable | \${max_rate} | ${cps} -| | ${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 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 | latency=${False} - -*** Test Cases *** -| 64B-1c-ethip4udp-ip4base-h65536-p63-s4128768-ndrpdr -| | [Tags] | 64B | 1C -| | frame_size=${64} | phy_cores=${1} - -| 64B-2c-ethip4udp-ip4base-h65536-p63-s4128768-ndrpdr -| | [Tags] | 64B | 2C -| | frame_size=${64} | phy_cores=${2} - -| 64B-4c-ethip4udp-ip4base-h65536-p63-s4128768-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 -- cgit 1.2.3-korg