From 48f947e94e36e877aa6889e10cda0bbdcd573ef4 Mon Sep 17 00:00:00 2001 From: "Sridhar K. N. Rao" Date: Wed, 4 Aug 2021 17:10:27 +0530 Subject: Integrating DPPD-Prox with Vineperf This patch adds Integration of DPPD-Prox with Vineperf Added: 1. Results analysis - bug-fix 2. Restrict to baremetal for this patch. 3. Fix Pylint errors. 4. Copy Rapid private key too. 5. Remove SSH key. Signed-off-by: Sridhar K. N. Rao Change-Id: I3ea7e6261e3fab06ef829f22153fe247372fc34b --- .../pkt_gen/prox/templates/params-vineperf.lua.j2 | 79 ++++++++++++++++++++++ .../prox/templates/rapid-vineperf-baremetal.env.j2 | 24 +++++++ tools/pkt_gen/prox/templates/tst009.test.j2 | 34 ++++++++++ 3 files changed, 137 insertions(+) create mode 100644 tools/pkt_gen/prox/templates/params-vineperf.lua.j2 create mode 100644 tools/pkt_gen/prox/templates/rapid-vineperf-baremetal.env.j2 create mode 100644 tools/pkt_gen/prox/templates/tst009.test.j2 (limited to 'tools/pkt_gen/prox/templates') diff --git a/tools/pkt_gen/prox/templates/params-vineperf.lua.j2 b/tools/pkt_gen/prox/templates/params-vineperf.lua.j2 new file mode 100644 index 00000000..b389a51a --- /dev/null +++ b/tools/pkt_gen/prox/templates/params-vineperf.lua.j2 @@ -0,0 +1,79 @@ +function convertIPToHex(ip) + local address_chunks = {} + if type(ip) ~= "string" then + print ("IP ADDRESS ERROR: ", ip) + return "IP ADDRESS ERROR" + end + + local chunks = {ip:match("^(%d+)%.(%d+)%.(%d+)%.(%d+)(\/%d+)$")} + if #chunks == 5 then + for i,v in ipairs(chunks) do + if i < 5 then + if tonumber(v) > 255 then + print ("IPV4 ADDRESS ERROR: ", ip) + return "IPV4 ADDRESS ERROR" + end + address_chunks[#address_chunks + 1] = string.format ("%02x", v) + end + end + result = table.concat(address_chunks, " ") + print ("Hex IPV4: ", result) + return result + end + + local chunks = {ip:match("^(%d+)%.(%d+)%.(%d+)%.(%d+)$")} + if #chunks == 4 then + for i,v in ipairs(chunks) do + if tonumber(v) > 255 then + print ("IPV4 ADDRESS ERROR: ", ip) + return "IPV4 ADDRESS ERROR" + end + address_chunks[#address_chunks + 1] = string.format ("%02x", v) + end + result = table.concat(address_chunks, " ") + print ("Hex IPV4: ", result) + return result + end + + delimiter = ":" + for match in (ip..delimiter):gmatch("(.-)"..delimiter) do + if match ~= "" then + number = tonumber(match, 16) + if number <= 65535 then + table.insert(address_chunks, string.format("%02x %02x",number/256,number % 256)) + end + else + table.insert(address_chunks, "") + end + end + for i, chunk in ipairs(address_chunks) do + if chunk =="" then + table.remove(address_chunks, i) + for j = 1,(8-#address_chunks) do + table.insert(address_chunks, i, "00 00") + end + break + end + end + result = table.concat(address_chunks, " ") + print ("Hex IPV6: ", result) + return result +end + +eal="--socket-mem=256,0 --file-prefix Generator -w {{data.pci1}} -w {{data.pci2}}" +name="Generator" +local_ip1={{data.local_ip1|tojson}} +local_hex_ip1=convertIPToHex(local_ip1) +local_ip2={{data.local_ip2|tojson}} +local_hex_ip2=convertIPToHex(local_ip2) +mcore={{data.mcore|tojson}} +dest_ip1={{data.local_ip2|tojson}} +dest_hex_ip1=convertIPToHex(dest_ip1) +dest_hex_mac2={{data.mac1|tojson}} +dest_ip2={{data.local_ip1|tojson}} +dest_hex_ip2=convertIPToHex(dest_ip2) +dest_hex_mac1={{data.mac2|tojson}} +gencores={{data.gencores|tojson}} +latcores={{data.latcores|tojson}} +bucket_size_exp={{data.latency_buckets|tojson}} +heartbeat="60" diff --git a/tools/pkt_gen/prox/templates/rapid-vineperf-baremetal.env.j2 b/tools/pkt_gen/prox/templates/rapid-vineperf-baremetal.env.j2 new file mode 100644 index 00000000..8823fe2a --- /dev/null +++ b/tools/pkt_gen/prox/templates/rapid-vineperf-baremetal.env.j2 @@ -0,0 +1,24 @@ +[rapid] +loglevel = DEBUG +version = 19.6.30 +total_number_of_machines = 2 + +[M1] +name = rapid-east +admin_ip = {{data.m1_admin_ip}} +dp_ip1 = {{data.local_eip1}} +dp_mac1 = {{data.emac1}} + +[M2] +name = rapid-west +admin_ip = {{data.m2_admin_ip}} +dp_ip1 = {{data.local_eip2}} +dp_mac1 = {{data.emac2}} + +[ssh] +key = {{data.key}} +user = {{data.user}} + +[Varia] +vim = Openstack +stack = rapid diff --git a/tools/pkt_gen/prox/templates/tst009.test.j2 b/tools/pkt_gen/prox/templates/tst009.test.j2 new file mode 100644 index 00000000..86e7cc8d --- /dev/null +++ b/tools/pkt_gen/prox/templates/tst009.test.j2 @@ -0,0 +1,34 @@ +[TestParameters] +name = Rapid_ETSINFV_TST009 +number_of_tests = 1 +total_number_of_test_machines = 2 +lat_percentile = 99 + +[TestM1] +name = Generator +prox_launch_exit = false +config_file = {{data.config_file}} +dest_vm = 2 +mcore = [{{data.mcore}}] +gencores = [{{data.gencores}}] +latcores = [{{data.latcores}}] + +[TestM2] +name = Dummy +prox_launch_exit = false +prox_socket = false + +[test1] +test=TST009test +warmupflowsize=128 +warmupimix=[64] +warmupspeed=1 +warmuptime=2 +#imixs=[[64],[128],[256],[512],[1024],[1280],[1512]] +imixs=[{{data.pktsizes}}] +flows=[1] +drop_rate_threshold = 0 +MAXr = 3 +MAXz = 5000 +MAXFramesPerSecondAllIngress = 12000000 +StepSize = 10000 -- cgit 1.2.3-korg